From c860dad3e982947911a004f21b5d5d3b280384ec Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:10:31 +1000 Subject: [PATCH 01/14] fix miror visual issue --- src/routes/+page.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 66c3e8ce..9aa4f5dd 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -110,7 +110,7 @@ > -
+
Date: Tue, 30 Sep 2025 17:13:04 +1000 Subject: [PATCH 02/14] only shwo sidebar in expeirental mode --- src/lib/components/app-sidebar.svelte | 450 +++++++++++++------------- 1 file changed, 226 insertions(+), 224 deletions(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index 3cc07642..ea09138c 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -68,241 +68,243 @@ - - - - - - {#snippet child({ props })} - { - sidebar.setOpenMobile(false); - }} - {...props} - > -
- -
-
- EduTools {#if $preferencesStore.experimentalFeatures} - Experimental{/if} -
-
- {/snippet} -
-
- - -
- -
-
- Search -
- - K - -
-
-
-
-
- - +{#if $preferencesStore.experimentalFeatures} + + - {#each filteredMainNavigation as groupItem (groupItem.title)} - {@const Icon = groupItem.icon} - - {#if groupItem.items?.length} - - + + {#snippet child({ props })} + { - sidebar.setOpen(true); + sidebar.setOpenMobile(false); }} + {...props} + > +
+ +
+
+ EduTools {#if $preferencesStore.experimentalFeatures} + Experimental{/if} +
+
+ {/snippet} +
+
+ + +
+ +
+
+ Search +
+ - + K + +
+
+
+
+
+ + + + {#each filteredMainNavigation as groupItem (groupItem.title)} + {@const Icon = groupItem.icon} + + {#if groupItem.items?.length} + + { + sidebar.setOpen(true); + }} + > + + {#snippet child({ props })} + + {#snippet child({ props })} + { + sidebar.setOpenMobile(false); + }} + {...props} + > + {#if Icon} + + {/if} + {groupItem.title} + + + {/snippet} + + {/snippet} + + + {#snippet child({ props, open })} + {#if open} + + {/if} + {/snippet} + + + {:else} + + {#snippet child({ props })} - { + sidebar.setOpenMobile(false); + }} > - {#snippet child({ props })} - { - sidebar.setOpenMobile(false); - }} - {...props} - > - {#if Icon} - - {/if} - {groupItem.title} - - - {/snippet} - - {/snippet} - - - {#snippet child({ props, open })} - {#if open} - - {/if} + {#if Icon} + + {/if} + {groupItem.title} + {/snippet} - - - {:else} - - - {#snippet child({ props })} - { - sidebar.setOpenMobile(false); - }} - > - {#if Icon} - - {/if} - {groupItem.title} - - {/snippet} - - - {/if} - {/each} - - - - - {#if $preferencesStore.experimentalFeatures === true} - - - {#snippet child({ props })} - { - sidebar.setOpenMobile(false); - }} - target="_blank" - href="https://github.com/EducationalTools/src" - {...props} - > - -
EducationalTools/src
-
-
- - {/snippet} -
-
- - { - settingsOpen.current = true; - sidebar.setOpenMobile(false); - }} - > - - Settings - -
- +
EducationalTools/src
+
+
+ + {process.env.BRANCH_NAME} +
+ + {/snippet} +
+
+ + { + settingsOpen.current = true; + sidebar.setOpenMobile(false); + }} > - , - - - - {/if} - {#if !sidebar.isMobile} - - { - posthog.capture('sidebar_toggle', { state: sidebar.open }); - sidebar.toggle(); - }} - > - - Sidebar -
- + Settings + +
+ + , + +
+
+ {/if} + {#if !sidebar.isMobile} + + { + posthog.capture('sidebar_toggle', { state: sidebar.open }); + sidebar.toggle(); + }} > - B - - - - {/if} -
- -
+ + Sidebar +
+ + B + + + + {/if} + + +
+{/if} From eba5f5fd459d29a94e5101bd7a5d032051acdcf0 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:14:14 +1000 Subject: [PATCH 03/14] remove padding --- src/routes/+page.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 9aa4f5dd..7159ecfb 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -110,7 +110,12 @@ >
-
+
Date: Tue, 30 Sep 2025 17:15:38 +1000 Subject: [PATCH 04/14] make top blur more subtle --- src/routes/+layout.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 3f3d9614..1f8f5270 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -82,7 +82,7 @@ {@render children()} From 525391858113278798643e83bbd2c259553e1af0 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:17:12 +1000 Subject: [PATCH 05/14] fix layout issue --- src/routes/+page.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 7159ecfb..1944e57f 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -19,7 +19,7 @@ ]; -
+
From bb0a51d438b667fcb96a26acb4e2b3124c7ef3ae Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:17:40 +1000 Subject: [PATCH 06/14] make particles experimental --- src/routes/+page.svelte | 138 ++++++++++++++++++++-------------------- 1 file changed, 70 insertions(+), 68 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 1944e57f..f7da8651 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -23,84 +23,86 @@
- + }} + /> + {/if}

EduTools {#if $preferencesStore.experimentalFeatures}Experimental{/if}

From c9e8b6d5f47ba4b2ddacc6926dcc9b058145ce0d Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:21:28 +1000 Subject: [PATCH 07/14] hide blur on exp off --- src/routes/+layout.svelte | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 1f8f5270..3d3094b4 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -81,9 +81,11 @@ - + {#if $preferencesStore.experimentalFeatures} + + {/if} {@render children()} From fce091a9af6b25eab82dcae12e6a206d016cf085 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:28:44 +1000 Subject: [PATCH 08/14] add navbar --- src/routes/+layout.svelte | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 3d3094b4..3c356b95 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -30,6 +30,7 @@ import Button from '$lib/components/ui/button/button.svelte'; import PanelLeftIcon from '@lucide/svelte/icons/panel-left'; import Identify from './identify.svelte'; + import { Search } from '@lucide/svelte'; // State let trackerBlockerDialog = $state(false); @@ -86,6 +87,18 @@ class="fixed -top-32 -left-32 hidden size-96 rounded-full bg-white/10 blur-3xl md:block" >
{/if} + {@render children()} From f0c23070ed2d494f1b49ffe1525fd192e57c642b Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:30:37 +1000 Subject: [PATCH 09/14] only show navbar in non exp --- src/routes/+layout.svelte | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 3c356b95..805e3b48 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -86,19 +86,20 @@ - {/if} -
-
- -
- -
-

EduTools

-
-
- + {:else} + -
+ {/if} {@render children()} From 87bc57a9c9b4e55aae1975f48c710c24b5e75b99 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:32:12 +1000 Subject: [PATCH 10/14] move command open state --- src/lib/components/app-sidebar.svelte | 16 +++++++--------- src/lib/state.svelte.ts | 1 + 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index ea09138c..be6c5911 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -26,7 +26,7 @@ // Games data import { gmaes } from '$lib/gmaes'; - import { settingsOpen } from '$lib/state.svelte'; + import { commandOpen, settingsOpen } from '$lib/state.svelte'; // Auth import posthog from 'posthog-js'; @@ -40,12 +40,10 @@ const sidebar = useSidebar(); - let commandOpen = $state(false); - function handleKeydown(e: KeyboardEvent) { const shortcuts = createSidebarShortcuts({ set: (value: boolean) => { - commandOpen = value; + commandOpen.current = value; } }); if (handleGlobalKeydown(e, shortcuts)) { @@ -104,7 +102,7 @@ size="lg" onclick={function () { posthog.capture('search'); - commandOpen = true; + commandOpen.current = true; sidebar.setOpenMobile(false); }} > @@ -306,7 +304,7 @@ {/if} - + No results found. @@ -316,7 +314,7 @@ {#each groupItem.items as item (item.title)} (commandOpen = false)} + onSelect={() => (commandOpen.current = false)} target={item.url.startsWith('http') ? '_blank' : undefined} rel={item.url.startsWith('http') ? 'noopener noreferrer' : undefined} > @@ -329,7 +327,7 @@ (commandOpen = false)} + onSelect={() => (commandOpen.current = false)} target={groupItem.url.startsWith('http') ? '_blank' : undefined} rel={groupItem.url.startsWith('http') ? 'noopener noreferrer' : undefined} > @@ -344,7 +342,7 @@ { settingsOpen.current = true; - commandOpen = false; + commandOpen.current = false; }} > Settings diff --git a/src/lib/state.svelte.ts b/src/lib/state.svelte.ts index 4bec3075..18f7ca3e 100644 --- a/src/lib/state.svelte.ts +++ b/src/lib/state.svelte.ts @@ -1,2 +1,3 @@ export let settingsOpen = $state({ current: false }); +export let commandOpen = $state({ current: false }); export let syncState: { current: '' | 'uploading' | 'downloading' } = $state({ current: '' }); From 8e099b72fc253392e2ee0cf0bd25019b97620a1f Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:33:22 +1000 Subject: [PATCH 11/14] make search button work --- src/routes/+layout.svelte | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 805e3b48..14573c81 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -31,6 +31,7 @@ import PanelLeftIcon from '@lucide/svelte/icons/panel-left'; import Identify from './identify.svelte'; import { Search } from '@lucide/svelte'; + import { commandOpen } from '$lib/state.svelte'; // State let trackerBlockerDialog = $state(false); @@ -96,7 +97,13 @@

EduTools

- +
{/if} From f4e0083cae212f18ff92a8132ef38e1b3468e848 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:42:22 +1000 Subject: [PATCH 12/14] only show exp option when searching for it --- src/lib/components/app-sidebar.svelte | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index be6c5911..c3189687 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -62,6 +62,8 @@ (item) => !item.experimental || $preferencesStore.experimentalFeatures ) ); + + let commandInput = $state(''); @@ -305,7 +307,7 @@ {/if} - + No results found. {#each filteredMainNavigation as groupItem (groupItem.title)} @@ -337,7 +339,7 @@ {/if} {/each} - + {#if $preferencesStore.experimentalFeatures} { @@ -349,6 +351,9 @@ {/if} ($preferencesStore.experimentalFeatures = !$preferencesStore.experimentalFeatures)} > From 6fb3295922f2ffb96f8535927b2366c00d4d379e Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:48:31 +1000 Subject: [PATCH 13/14] clear input on close --- src/lib/components/app-sidebar.svelte | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/components/app-sidebar.svelte b/src/lib/components/app-sidebar.svelte index c3189687..ab03e68e 100644 --- a/src/lib/components/app-sidebar.svelte +++ b/src/lib/components/app-sidebar.svelte @@ -306,7 +306,12 @@ {/if} - + { + if (!state) commandInput = ''; + }} +> No results found. From 56070b3715b337e5f45cf95808c726e7d8060608 Mon Sep 17 00:00:00 2001 From: Ingo Wolf Date: Tue, 30 Sep 2025 17:55:23 +1000 Subject: [PATCH 14/14] remove background from navbar --- src/routes/+layout.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 14573c81..f3ab7e0d 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -89,7 +89,7 @@ >
{:else}
-
+