diff --git a/src/lib/components/Modal.svelte b/src/lib/components/Modal.svelte index a83e4a1..ccb1431 100644 --- a/src/lib/components/Modal.svelte +++ b/src/lib/components/Modal.svelte @@ -5,14 +5,14 @@ interface Props { children: Snippet; - onClose?: () => void; + onclose?: () => void; isOpen: boolean; } - let { children, onClose, isOpen = $bindable() }: Props = $props(); + let { children, onclose, isOpen = $bindable() }: Props = $props(); const closeModal = $derived( - onClose || + onclose || (() => { isOpen = false; }), diff --git a/src/lib/components/TopBar.svelte b/src/lib/components/TopBar.svelte new file mode 100644 index 0000000..de2346e --- /dev/null +++ b/src/lib/components/TopBar.svelte @@ -0,0 +1,29 @@ + + +
+ + {#if title} +

{title}

+ {/if} + {#if children} + {@render children?.()} + {/if} +
diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts index 55979fb..536f01f 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/index.ts @@ -1,2 +1,3 @@ export { default as BottomSheet } from "./BottomSheet.svelte"; export { default as Modal } from "./Modal.svelte"; +export { default as TopBar } from "./TopBar.svelte"; diff --git a/src/routes/(fullscreen)/auth/login/+page.svelte b/src/routes/(fullscreen)/auth/login/+page.svelte index 9ab6c0c..04f215f 100644 --- a/src/routes/(fullscreen)/auth/login/+page.svelte +++ b/src/routes/(fullscreen)/auth/login/+page.svelte @@ -46,7 +46,7 @@ onMount(async () => { const res = await refreshToken(); if (res.ok) { - await goto(data.redirectPath); + await goto(data.redirectPath, { replaceState: true }); } }); diff --git a/src/routes/(fullscreen)/client/pending/+page.svelte b/src/routes/(fullscreen)/client/pending/+page.svelte index 8eacc09..6369981 100644 --- a/src/routes/(fullscreen)/client/pending/+page.svelte +++ b/src/routes/(fullscreen)/client/pending/+page.svelte @@ -21,7 +21,7 @@ ($clientKeyStore && (await requestMasterKeyDownload($clientKeyStore.decryptKey, $clientKeyStore.verifyKey))) ) { - await goto(data.redirectPath); + await goto(data.redirectPath, { replaceState: true }); } }); diff --git a/src/routes/(fullscreen)/key/generate/+page.svelte b/src/routes/(fullscreen)/key/generate/+page.svelte index 5812750..17def3c 100644 --- a/src/routes/(fullscreen)/key/generate/+page.svelte +++ b/src/routes/(fullscreen)/key/generate/+page.svelte @@ -47,7 +47,7 @@ onMount(async () => { if ($clientKeyStore) { - await goto(data.redirectPath); + await goto(data.redirectPath, { replaceState: true }); } }); diff --git a/src/routes/(main)/directory/[[id]]/+page.server.ts b/src/routes/(main)/directory/[[id]]/+page.server.ts index 2da0522..58d64d4 100644 --- a/src/routes/(main)/directory/[[id]]/+page.server.ts +++ b/src/routes/(main)/directory/[[id]]/+page.server.ts @@ -21,7 +21,10 @@ export const load: PageServerLoad = async ({ params, fetch }) => { directoryInfo.subDirectories.map(async (subDirectoryId) => { const res = await fetch(`/api/directory/${subDirectoryId}`); if (!res.ok) error(500, "Internal server error"); - return (await res.json()) as DirectroyInfoResponse; + return { + ...((await res.json()) as DirectroyInfoResponse), + id: subDirectoryId, + }; }), ); const fileInfos = directoryInfo.files; // TODO diff --git a/src/routes/(main)/directory/[[id]]/+page.svelte b/src/routes/(main)/directory/[[id]]/+page.svelte index 518c8d2..6e1e17d 100644 --- a/src/routes/(main)/directory/[[id]]/+page.svelte +++ b/src/routes/(main)/directory/[[id]]/+page.svelte @@ -1,4 +1,5 @@ - +

새 폴더

diff --git a/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte b/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte index ceb3460..87c739b 100644 --- a/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte +++ b/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte @@ -1,12 +1,46 @@ -
- -

{name}

+ + +
+
+
+ +

{name}

+
+ +
+ +