diff --git a/apps/todo/apps/web/src/routes/(app)/+layout.svelte b/apps/todo/apps/web/src/routes/(app)/+layout.svelte index c94fcb364..3a10ce776 100644 --- a/apps/todo/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/todo/apps/web/src/routes/(app)/+layout.svelte @@ -179,7 +179,6 @@ onClick: handleFilterToggle, active: isFilterStripVisible, }, - { href: '/spiral', label: 'Spiral', icon: 'spiral' }, { href: '/tags', label: 'Tags', icon: 'tag' }, ]); @@ -325,6 +324,8 @@ manaHref="/mana" profileHref="/profile" allAppsHref="/apps" + themesHref="/themes" + spiralHref="/spiral" onOpenInPanel={handleOpenInPanel} ariaLabel="Hauptnavigation" /> diff --git a/packages/shared-ui/src/navigation/PillNavigation.svelte b/packages/shared-ui/src/navigation/PillNavigation.svelte index 17e50a534..d66c86942 100644 --- a/packages/shared-ui/src/navigation/PillNavigation.svelte +++ b/packages/shared-ui/src/navigation/PillNavigation.svelte @@ -278,6 +278,10 @@ ariaLabel?: string; /** Feedback page href (shown in user dropdown). Set to empty string to hide. */ feedbackHref?: string; + /** Themes page href (shown in user dropdown). Set to empty string to hide. */ + themesHref?: string; + /** Spiral page href (shown in user dropdown). Set to empty string to hide. */ + spiralHref?: string; } let { @@ -321,6 +325,8 @@ onOpenInPanel, ariaLabel, feedbackHref = '/feedback', + themesHref, + spiralHref, }: Props = $props(); // Type guards for elements @@ -841,6 +847,32 @@ }, ] : []), + ...(themesHref + ? [ + { + id: 'themes', + label: 'Themes', + icon: 'palette', + onClick: () => { + window.location.href = themesHref; + }, + active: currentPath === themesHref, + }, + ] + : []), + ...(spiralHref + ? [ + { + id: 'spiral', + label: 'Spiral', + icon: 'sparkles', + onClick: () => { + window.location.href = spiralHref; + }, + active: currentPath === spiralHref, + }, + ] + : []), ...(showLanguageSwitcher && languageItems.length > 0 ? [ { id: 'language-divider', label: '', divider: true },