From 14d1adc416c457449ce748225a139a99cd1f1ff5 Mon Sep 17 00:00:00 2001 From: static Date: Sun, 5 Jan 2025 22:59:11 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=8C=EC=9D=BC/=ED=8F=B4=EB=8D=94=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EB=B0=8F=20=EC=9D=B4=EB=A6=84=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/components/BottomSheet.svelte | 17 ++--- .../(main)/directory/[[id]]/+page.svelte | 56 +++++++++++++++-- .../directory/[[id]]/CreateBottomSheet.svelte | 10 +-- .../[[id]]/DeleteDirectoryEntryModal.svelte | 60 ++++++++++++++++++ .../directory/[[id]]/DirectoryEntry.svelte | 16 ++--- .../DirectoryEntryMenuBottomSheet.svelte | 62 +++++++++++++++++++ .../[[id]]/RenameDirectoryEntryModal.svelte | 46 ++++++++++++++ 7 files changed, 243 insertions(+), 24 deletions(-) create mode 100644 src/routes/(main)/directory/[[id]]/DeleteDirectoryEntryModal.svelte create mode 100644 src/routes/(main)/directory/[[id]]/DirectoryEntryMenuBottomSheet.svelte create mode 100644 src/routes/(main)/directory/[[id]]/RenameDirectoryEntryModal.svelte diff --git a/src/lib/components/BottomSheet.svelte b/src/lib/components/BottomSheet.svelte index 471643a..e92c842 100644 --- a/src/lib/components/BottomSheet.svelte +++ b/src/lib/components/BottomSheet.svelte @@ -5,21 +5,24 @@ interface Props { children: Snippet; + onclose?: () => void; isOpen: boolean; } - let { children, isOpen = $bindable() }: Props = $props(); + let { children, onclose, isOpen = $bindable() }: Props = $props(); + + const closeBottomSheet = $derived( + onclose || + (() => { + isOpen = false; + }), + ); {#if isOpen} -
{ - isOpen = false; - }} - class="fixed inset-0 z-10 flex items-end justify-center" - > +
diff --git a/src/routes/(main)/directory/[[id]]/+page.svelte b/src/routes/(main)/directory/[[id]]/+page.svelte index ae0c95d..51bab14 100644 --- a/src/routes/(main)/directory/[[id]]/+page.svelte +++ b/src/routes/(main)/directory/[[id]]/+page.svelte @@ -1,10 +1,22 @@ + +
- +

폴더 만들기

- +

파일 업로드

diff --git a/src/routes/(main)/directory/[[id]]/DeleteDirectoryEntryModal.svelte b/src/routes/(main)/directory/[[id]]/DeleteDirectoryEntryModal.svelte new file mode 100644 index 0000000..8904f83 --- /dev/null +++ b/src/routes/(main)/directory/[[id]]/DeleteDirectoryEntryModal.svelte @@ -0,0 +1,60 @@ + + + + {#if selectedEntry} + {@const { type, name } = selectedEntry} + {@const nameShort = name.length > 20 ? `${name.slice(0, 20)}...` : name} +
+
+

+ {#if type === "directory"} + '{nameShort}' 폴더를 삭제할까요? + {:else} + '{nameShort}' 파일을 삭제할까요? + {/if} +

+

+ {#if type === "directory"} + 삭제한 폴더는 복구할 수 없어요.
+ 폴더 안의 모든 파일과 폴더도 함께 삭제돼요. + {:else} + 삭제한 파일은 복구할 수 없어요. + {/if} +

+
+
+ + +
+
+ {/if} +
diff --git a/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte b/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte index 69a589d..29f11d0 100644 --- a/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte +++ b/src/routes/(main)/directory/[[id]]/DirectoryEntry.svelte @@ -1,28 +1,28 @@ -
+
setTimeout(onclick, 100)} class="h-12 w-full rounded-xl">
{#if type === "directory"} @@ -36,7 +36,7 @@

+ +
+
+