diff --git a/src/server/routes/fileApiRoutes.ts b/src/server/routes/fileApiRoutes.ts index dd509fc..775c340 100644 --- a/src/server/routes/fileApiRoutes.ts +++ b/src/server/routes/fileApiRoutes.ts @@ -2,6 +2,7 @@ import bodyParser from "body-parser"; import { Router } from "express"; import * as Accounts from "../lib/accounts"; import * as auth from "../lib/auth"; +import bytes from "bytes" import ServeError from "../lib/errors"; import Files from "../lib/files"; @@ -31,10 +32,13 @@ fileApiRoutes.get("/list", (req,res) => { if (!acc) return res.send(acc.files.map((e) => { + let fp = files.getFilePointer(e) return { - ...files.getFilePointer(e), + ...fp, messageids: null, - id:e + owner: null, + id:e, + sizeDisplay: fp.sizeInBytes ? bytes(fp.sizeInBytes) : "[File size unknown]" } })) diff --git a/src/style/app/pulldown/files.scss b/src/style/app/pulldown/files.scss index 00e26d8..6346ffd 100644 --- a/src/style/app/pulldown/files.scss +++ b/src/style/app/pulldown/files.scss @@ -1,11 +1,11 @@ .pulldown_display[name=files] { .notLoggedIn { position:absolute; - top:100%; - transform:translateY(-100%); + top:50%; + left:0px; + transform:translateY(-50%); width:100%; text-align:center; - background-color:#202020; .flavor { font-size:16px; diff --git a/src/svelte/elem/pulldowns/Files.svelte b/src/svelte/elem/pulldowns/Files.svelte index ee9e905..66d4e8d 100644 --- a/src/svelte/elem/pulldowns/Files.svelte +++ b/src/svelte/elem/pulldowns/Files.svelte @@ -1,33 +1,33 @@ {#if !$account.username}
-
-

Log in to view uploads & collections

+

Log in to view uploads

+ {:else} +
+ + +
+ {#each $files as file (file.id)} +
+

{file.id}

+

{file.filename}

+

{file.mime.split(";")[0]}  —  {file.sizeDisplay}

+
+ {/each} +
+
{/if} - - - - \ No newline at end of file diff --git a/src/svelte/elem/stores.mjs b/src/svelte/elem/stores.mjs index b99cba3..4e47447 100644 --- a/src/svelte/elem/stores.mjs +++ b/src/svelte/elem/stores.mjs @@ -3,6 +3,7 @@ import { writable } from "svelte/store" export let pulldownManager = writable(0) export let account = writable({}) export let serverStats = writable({}) +export let files = writable([]) export let fetchAccountData = function() { fetch("/auth/me").then(async (response) => { @@ -14,6 +15,16 @@ export let fetchAccountData = function() { }).catch((err) => { console.error(err) }) } +export let fetchFilePointers = function() { + fetch("/files/list").then(async (response) => { + if (response.status == 200) { + files.set(await response.json()) + } else { + files.set([]) + } + }).catch((err) => { console.error(err) }) +} + export let refresh_stats = () => { fetch("/server").then(async (data) => { serverStats.set(await data.json())