From 55401fd37bdef83bf6e9d45d1c5edf658d57bd7b Mon Sep 17 00:00:00 2001
From: Shaheed Azaad <4594-shaheedazaad@users.noreply.gitlab.pavlovia.org>
Date: Tue, 15 Jul 2025 15:23:54 +0200
Subject: [PATCH] added menu
---
.../components/ui/navigation-menu/index.ts | 28 +++
.../navigation-menu-content.svelte | 21 ++
.../navigation-menu-indicator.svelte | 22 ++
.../navigation-menu-item.svelte | 17 ++
.../navigation-menu-link.svelte | 20 ++
.../navigation-menu-list.svelte | 17 ++
.../navigation-menu-trigger.svelte | 34 +++
.../navigation-menu-viewport.svelte | 22 ++
.../ui/navigation-menu/navigation-menu.svelte | 32 +++
src/routes/+layout.svelte | 28 ++-
src/routes/+page.svelte | 4 +
src/routes/experiment/[id]/+page.svelte | 215 +++++++++++-------
src/routes/experiment/[id]/FileBrowser.svelte | 72 +++++-
13 files changed, 432 insertions(+), 100 deletions(-)
create mode 100644 src/lib/components/ui/navigation-menu/index.ts
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu-content.svelte
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu-indicator.svelte
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu-item.svelte
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu-link.svelte
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu-list.svelte
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu-trigger.svelte
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu-viewport.svelte
create mode 100644 src/lib/components/ui/navigation-menu/navigation-menu.svelte
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}