Skip to content

Commit d291990

Browse files
authored
Merge pull request #65 from abdel-17/update-ui
improve ui
2 parents d316b1e + 50448ee commit d291990

File tree

4 files changed

+20
-25
lines changed

4 files changed

+20
-25
lines changed

sites/preview/src/lib/components/tree/ContextMenu.svelte

+13-21
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,5 @@
11
<script lang="ts">
22
import type { FolderNode, FileTree, FileTreeNode } from "$lib/tree.svelte";
3-
import {
4-
ClipboardPasteIcon,
5-
CopyIcon,
6-
PenIcon,
7-
PlusIcon,
8-
ScissorsIcon,
9-
TrashIcon,
10-
UploadIcon,
11-
} from "@lucide/svelte";
123
import { ContextMenu } from "bits-ui";
134
import type { Snippet } from "svelte";
145
import type { PasteOperation, TreeItemState } from "svelte-file-tree";
@@ -156,54 +147,55 @@
156147
</script>
157148

158149
<ContextMenu.Root bind:open={open, handleOpenChange}>
159-
<ContextMenu.Trigger
160-
class="grow overflow-y-auto rounded px-(--tree-inline-padding) py-2"
161-
oncontextmenu={handleTriggerContextMenu}
162-
>
150+
<ContextMenu.Trigger class="grow overflow-y-auto" oncontextmenu={handleTriggerContextMenu}>
163151
{@render children()}
164152
</ContextMenu.Trigger>
165153

166154
<ContextMenu.Portal>
167155
<ContextMenu.Content
168-
class="z-50 w-[200px] rounded-xl border border-gray-300 bg-gray-50 p-2 shadow focus-visible:outline-none"
156+
class="z-50 w-60 rounded-md border border-gray-300 bg-gray-50 p-2 shadow focus-visible:outline-none"
169157
>
170158
{#if showArgs?.type === "item"}
171159
{@const item = showArgs.item()}
172160
<ContextMenuItem onSelect={() => onRename(item)}>
173-
<PenIcon role="presentation" size={20} />
174161
<span>Rename</span>
162+
<kbd>F2</kbd>
175163
</ContextMenuItem>
176164

177165
<ContextMenuItem onSelect={() => onCopy(item, "copy")}>
178-
<CopyIcon role="presentation" size={20} />
179166
<span>Copy</span>
167+
<kbd>
168+
<kdb>⌘</kdb> + <kdb>C</kdb>
169+
</kbd>
180170
</ContextMenuItem>
181171

182172
<ContextMenuItem onSelect={() => onCopy(item, "cut")}>
183-
<ScissorsIcon role="presentation" size={20} />
184173
<span>Cut</span>
174+
<kbd>
175+
<kdb>⌘</kdb> + <kdb>X</kdb>
176+
</kbd>
185177
</ContextMenuItem>
186178

187179
<ContextMenuItem onSelect={() => onPaste(item)}>
188-
<ClipboardPasteIcon role="presentation" size={20} />
189180
<span>Paste</span>
181+
<kbd>
182+
<kdb>⌘</kdb> + <kdb>V</kdb>
183+
</kbd>
190184
</ContextMenuItem>
191185

192186
<ContextMenuItem onSelect={() => onRemove(item)}>
193-
<TrashIcon role="presentation" size={20} />
194187
<span>Delete</span>
188+
<kbd>⌫</kbd>
195189
</ContextMenuItem>
196190
{/if}
197191

198192
{@const isFolder = showArgs?.type === "item" && showArgs.item().node.type === "folder"}
199193
{#if showArgs?.type === "tree" || isFolder}
200194
<ContextMenuItem onSelect={handleCreateFolder}>
201-
<PlusIcon role="presentation" size={20} />
202195
<span>New Folder</span>
203196
</ContextMenuItem>
204197

205198
<ContextMenuItem onSelect={handleUploadFiles}>
206-
<UploadIcon role="presentation" size={20} />
207199
<span>Upload Files</span>
208200
</ContextMenuItem>
209201
{/if}

sites/preview/src/lib/components/tree/ContextMenuItem.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
{...rest}
99
bind:ref
1010
class={[
11-
"flex h-10 items-center gap-2 rounded p-3 text-sm font-medium select-none focus-visible:outline-2 focus-visible:outline-current data-highlighted:bg-gray-200",
11+
"flex items-center justify-between gap-2 rounded px-3 py-1.5 text-sm font-medium select-none focus-visible:outline-2 focus-visible:outline-current data-highlighted:bg-gray-200 [&>kbd]:font-sans [&>kbd]:font-normal [&>kbd]:text-gray-700",
1212
className,
1313
]}
1414
/>

sites/preview/src/lib/components/tree/Tree.svelte

+3-2
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,9 @@
212212
}
213213
</script>
214214

215-
<div class="root flex h-svh flex-col">
215+
<div class="root flex h-full flex-col">
216216
<div
217-
class="grid grid-cols-(--grid-cols) gap-x-(--grid-gap) border-b border-gray-300 px-[calc(var(--tree-inline-padding)+var(--grid-inline-padding))] py-3 text-sm font-semibold"
217+
class="grid grid-cols-(--grid-cols) gap-x-(--grid-gap) border-b border-gray-300 px-[calc(var(--tree-inline-padding)+var(--grid-inline-padding))] py-2 text-sm font-semibold"
218218
>
219219
<div>Name</div>
220220
<div>Size</div>
@@ -240,6 +240,7 @@
240240
bind:this={treeComponent}
241241
bind:pasteOperation
242242
bind:ref
243+
class="px-(--tree-inline-padding) py-2"
243244
copyNode={(node) => node.copy()}
244245
onResolveNameConflict={handleResolveNameConflict}
245246
onCircularReferenceError={handleCircularReferenceError}

sites/preview/src/routes/+page.svelte

+3-1
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,6 @@
2323
);
2424
</script>
2525

26-
<Tree {tree} />
26+
<main class="h-svh">
27+
<Tree {tree} />
28+
</main>

0 commit comments

Comments
 (0)