diff --git a/src/lib/components/ui/navigation-menu/index.ts b/src/lib/components/ui/navigation-menu/index.ts
new file mode 100644
index 0000000..bbc250f
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/index.ts
@@ -0,0 +1,28 @@
+import Root from "./navigation-menu.svelte";
+import Content from "./navigation-menu-content.svelte";
+import Indicator from "./navigation-menu-indicator.svelte";
+import Item from "./navigation-menu-item.svelte";
+import Link from "./navigation-menu-link.svelte";
+import List from "./navigation-menu-list.svelte";
+import Trigger from "./navigation-menu-trigger.svelte";
+import Viewport from "./navigation-menu-viewport.svelte";
+
+export {
+ Root,
+ Content,
+ Indicator,
+ Item,
+ Link,
+ List,
+ Trigger,
+ Viewport,
+ //
+ Root as NavigationMenuRoot,
+ Content as NavigationMenuContent,
+ Indicator as NavigationMenuIndicator,
+ Item as NavigationMenuItem,
+ Link as NavigationMenuLink,
+ List as NavigationMenuList,
+ Trigger as NavigationMenuTrigger,
+ Viewport as NavigationMenuViewport,
+};
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte b/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte
new file mode 100644
index 0000000..9dbdb36
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu-content.svelte
@@ -0,0 +1,21 @@
+
+
+
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte b/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte
new file mode 100644
index 0000000..6c9bdfd
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte
@@ -0,0 +1,22 @@
+
+
+
+
+
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte b/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte
new file mode 100644
index 0000000..b00b4b4
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu-item.svelte
@@ -0,0 +1,17 @@
+
+
+
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte b/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte
new file mode 100644
index 0000000..867851e
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu-link.svelte
@@ -0,0 +1,20 @@
+
+
+
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte b/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte
new file mode 100644
index 0000000..c2c5880
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu-list.svelte
@@ -0,0 +1,17 @@
+
+
+
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte b/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte
new file mode 100644
index 0000000..aad82a2
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte
@@ -0,0 +1,34 @@
+
+
+
+
+
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte b/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte
new file mode 100644
index 0000000..655741d
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte
@@ -0,0 +1,22 @@
+
+
+
+
+
diff --git a/src/lib/components/ui/navigation-menu/navigation-menu.svelte b/src/lib/components/ui/navigation-menu/navigation-menu.svelte
new file mode 100644
index 0000000..69c3d13
--- /dev/null
+++ b/src/lib/components/ui/navigation-menu/navigation-menu.svelte
@@ -0,0 +1,32 @@
+
+
+
+ {@render children?.()}
+
+ {#if viewport}
+
+ {/if}
+
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 9ceaee3..34d9b39 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -1,7 +1,8 @@
+ {#if isRoot}
+ -
+ Name
+ Size
+ Last Uploaded
+
+
+ {/if}
{#each Object.entries(tree) as [name, node] (parentPath + '/' + name)}
{#if (node as any).isFile}
- -
- {name} ({(node as any).size} bytes)
-
+
-
+
+
+ {name || ''}
+
+ {formatSize((node as any).size)}
+ {formatDate((node as any).lastModified)}
+
+
+
+
{:else}
-
-
handleFolderClick(e, parentPath ? `${parentPath}/${name}` : name)}>
-
{expanded.has(parentPath ? `${parentPath}/${name}` : name) ? '▼' : '▶'}
-
{name}
-
+
+ handleFolderClick(e, parentPath ? `${parentPath}/${name}` : name)}>
+
+ {#if expanded.has(parentPath ? `${parentPath}/${name}` : name)}
+
+ {:else}
+
+ {/if}
+
+ {name || ''}
+
+
+
+
+
+
{#if expanded.has(parentPath ? `${parentPath}/${name}` : name)}
{/if}