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 @@
-