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 @@ + + + + + + {@render children?.()} + + 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}