diff --git a/apps/calendar/apps/web/src/routes/(app)/+layout.svelte b/apps/calendar/apps/web/src/routes/(app)/+layout.svelte index 6320acdc9..e21b2b06f 100644 --- a/apps/calendar/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/calendar/apps/web/src/routes/(app)/+layout.svelte @@ -495,6 +495,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" onOpenInPanel={handleOpenInPanel} ariaLabel="Hauptnavigation" diff --git a/apps/chat/apps/web/src/routes/(protected)/+layout.svelte b/apps/chat/apps/web/src/routes/(protected)/+layout.svelte index 23425b5f6..86689d01a 100644 --- a/apps/chat/apps/web/src/routes/(protected)/+layout.svelte +++ b/apps/chat/apps/web/src/routes/(protected)/+layout.svelte @@ -202,6 +202,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" /> diff --git a/apps/citycorners/apps/web/package.json b/apps/citycorners/apps/web/package.json index ec1ef5954..2bd0fd291 100644 --- a/apps/citycorners/apps/web/package.json +++ b/apps/citycorners/apps/web/package.json @@ -35,11 +35,17 @@ "@manacore/shared-auth-ui": "workspace:*", "@manacore/shared-branding": "workspace:*", "@manacore/shared-error-tracking": "workspace:*", + "@manacore/shared-feedback-service": "workspace:*", + "@manacore/shared-feedback-ui": "workspace:*", + "@manacore/shared-help-types": "workspace:*", + "@manacore/shared-help-ui": "workspace:*", "@manacore/shared-i18n": "workspace:*", "@manacore/shared-icons": "workspace:*", + "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", + "@manacore/shared-theme-ui": "workspace:*", "@manacore/shared-ui": "workspace:*", "leaflet": "^1.9.4", "leaflet.markercluster": "^1.5.3", diff --git a/apps/citycorners/apps/web/src/lib/stores/auth.svelte.ts b/apps/citycorners/apps/web/src/lib/stores/auth.svelte.ts index ebd5df713..f0330d61e 100644 --- a/apps/citycorners/apps/web/src/lib/stores/auth.svelte.ts +++ b/apps/citycorners/apps/web/src/lib/stores/auth.svelte.ts @@ -215,6 +215,27 @@ export const authStore = { } }, + /** + * Reset password with token (from reset email link) + */ + async resetPasswordWithToken(token: string, newPassword: string) { + const authService = getAuthService(); + if (!authService) { + return { success: false, error: 'Auth not available on server' }; + } + + try { + const result = await authService.resetPassword(token, newPassword); + if (!result.success) { + return { success: false, error: result.error || 'Failed to reset password' }; + } + return { success: true }; + } catch (error) { + const errorMessage = error instanceof Error ? error.message : 'Unknown error'; + return { success: false, error: errorMessage }; + } + }, + async getAccessToken() { const authService = getAuthService(); if (!authService) return null; diff --git a/apps/citycorners/apps/web/src/routes/(app)/+layout.svelte b/apps/citycorners/apps/web/src/routes/(app)/+layout.svelte index 61dd6bb88..7d16051e4 100644 --- a/apps/citycorners/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/citycorners/apps/web/src/routes/(app)/+layout.svelte @@ -190,6 +190,9 @@ {appItems} {userEmail} settingsHref="/settings" + themesHref="/themes" + helpHref="/help" + profileHref="/profile" /> {/if} diff --git a/apps/citycorners/apps/web/src/routes/(app)/feedback/+page.svelte b/apps/citycorners/apps/web/src/routes/(app)/feedback/+page.svelte new file mode 100644 index 000000000..028634274 --- /dev/null +++ b/apps/citycorners/apps/web/src/routes/(app)/feedback/+page.svelte @@ -0,0 +1,24 @@ + + + diff --git a/apps/citycorners/apps/web/src/routes/(app)/help/+page.svelte b/apps/citycorners/apps/web/src/routes/(app)/help/+page.svelte new file mode 100644 index 000000000..c378c87b4 --- /dev/null +++ b/apps/citycorners/apps/web/src/routes/(app)/help/+page.svelte @@ -0,0 +1,32 @@ + + + + {translations.title} | CityCorners + + + goto('/')} + showGettingStarted={false} + showChangelog={false} + defaultSection="faq" +/> diff --git a/apps/citycorners/apps/web/src/routes/(app)/profile/+page.svelte b/apps/citycorners/apps/web/src/routes/(app)/profile/+page.svelte new file mode 100644 index 000000000..c299001e3 --- /dev/null +++ b/apps/citycorners/apps/web/src/routes/(app)/profile/+page.svelte @@ -0,0 +1,6 @@ + + + diff --git a/apps/citycorners/apps/web/src/routes/(app)/themes/+page.svelte b/apps/citycorners/apps/web/src/routes/(app)/themes/+page.svelte new file mode 100644 index 000000000..98833df98 --- /dev/null +++ b/apps/citycorners/apps/web/src/routes/(app)/themes/+page.svelte @@ -0,0 +1,19 @@ + + + + Themes | CityCorners + + + theme.setVariant(v)} + showModeSelector={true} + currentMode={theme.mode} + onModeChange={(m) => theme.setMode(m)} + showBackButton={true} + onBack={() => goto('/')} +/> diff --git a/apps/citycorners/apps/web/src/routes/(auth)/forgot-password/+page.svelte b/apps/citycorners/apps/web/src/routes/(auth)/forgot-password/+page.svelte new file mode 100644 index 000000000..032aa739e --- /dev/null +++ b/apps/citycorners/apps/web/src/routes/(auth)/forgot-password/+page.svelte @@ -0,0 +1,32 @@ + + + + {translations.titleForm} - CityCorners + + + diff --git a/apps/citycorners/apps/web/src/routes/(auth)/reset-password/+page.svelte b/apps/citycorners/apps/web/src/routes/(auth)/reset-password/+page.svelte new file mode 100644 index 000000000..b0b7f77d9 --- /dev/null +++ b/apps/citycorners/apps/web/src/routes/(auth)/reset-password/+page.svelte @@ -0,0 +1,174 @@ + + + + Reset Password - CityCorners + + +
+
+ + + CityCorners + +
+ +
+
+
+

Reset Password

+

+ {#if success}Password reset successfully + {:else if hasToken}Enter your new password + {:else}Invalid or missing token{/if} +

+
+ + {#if success} +
+
+
+

+ Your password has been reset successfully. You will be redirected to the login page + shortly. +

+ + Go to login + +
+
+ {:else if hasToken} +
+
+ {#if error} +
+ {error} +
+ {/if} +
+
+ + +

At least 8 characters

+
+
+ + +
+ +
+
+
+ {:else} +
+
+
⚠️
+

+ This password reset link is invalid or has expired. +

+ + Request a new link + +
+
+ {/if} +
+
+
diff --git a/apps/clock/apps/web/src/routes/(app)/+layout.svelte b/apps/clock/apps/web/src/routes/(app)/+layout.svelte index e2678a31a..7f66550c6 100644 --- a/apps/clock/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/clock/apps/web/src/routes/(app)/+layout.svelte @@ -290,6 +290,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" /> diff --git a/apps/contacts/apps/web/src/routes/(app)/+layout.svelte b/apps/contacts/apps/web/src/routes/(app)/+layout.svelte index 6cc1f9755..79309e88f 100644 --- a/apps/contacts/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/contacts/apps/web/src/routes/(app)/+layout.svelte @@ -325,6 +325,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" onOpenInPanel={handleOpenInPanel} ariaLabel="Hauptnavigation" diff --git a/apps/context/apps/web/src/routes/(app)/+layout.svelte b/apps/context/apps/web/src/routes/(app)/+layout.svelte index f6e9f31c3..2329264b9 100644 --- a/apps/context/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/context/apps/web/src/routes/(app)/+layout.svelte @@ -249,6 +249,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" /> diff --git a/apps/manacore/apps/web/src/routes/(app)/+layout.svelte b/apps/manacore/apps/web/src/routes/(app)/+layout.svelte index 98aab0f5a..095a5efa9 100644 --- a/apps/manacore/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/manacore/apps/web/src/routes/(app)/+layout.svelte @@ -256,6 +256,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" /> diff --git a/apps/manadeck/apps/web/src/routes/(app)/+layout.svelte b/apps/manadeck/apps/web/src/routes/(app)/+layout.svelte index 2f6c767de..cf58b6281 100644 --- a/apps/manadeck/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/manadeck/apps/web/src/routes/(app)/+layout.svelte @@ -224,6 +224,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" /> diff --git a/apps/matrix/apps/web/package.json b/apps/matrix/apps/web/package.json index f2dcfb3b4..851848e44 100644 --- a/apps/matrix/apps/web/package.json +++ b/apps/matrix/apps/web/package.json @@ -41,6 +41,10 @@ "@manacore/shared-auth": "workspace:*", "@manacore/shared-branding": "workspace:*", "@manacore/shared-error-tracking": "workspace:*", + "@manacore/shared-feedback-service": "workspace:*", + "@manacore/shared-feedback-ui": "workspace:*", + "@manacore/shared-help-types": "workspace:*", + "@manacore/shared-help-ui": "workspace:*", "@manacore/shared-i18n": "workspace:*", "@manacore/shared-icons": "workspace:*", "@manacore/shared-tailwind": "workspace:*", diff --git a/apps/matrix/apps/web/src/routes/(app)/+layout.svelte b/apps/matrix/apps/web/src/routes/(app)/+layout.svelte index 236d058ca..199c0db75 100644 --- a/apps/matrix/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/matrix/apps/web/src/routes/(app)/+layout.svelte @@ -417,6 +417,7 @@ {appItems} {userEmail} settingsHref="/settings" + helpHref="/help" allAppsHref="https://mana.how" /> {/if} diff --git a/apps/matrix/apps/web/src/routes/(app)/feedback/+page.svelte b/apps/matrix/apps/web/src/routes/(app)/feedback/+page.svelte new file mode 100644 index 000000000..1e19c487c --- /dev/null +++ b/apps/matrix/apps/web/src/routes/(app)/feedback/+page.svelte @@ -0,0 +1,26 @@ + + + diff --git a/apps/matrix/apps/web/src/routes/(app)/help/+page.svelte b/apps/matrix/apps/web/src/routes/(app)/help/+page.svelte new file mode 100644 index 000000000..bbcca29a5 --- /dev/null +++ b/apps/matrix/apps/web/src/routes/(app)/help/+page.svelte @@ -0,0 +1,32 @@ + + + + {translations.title} | Manalink + + + goto('/')} + showGettingStarted={false} + showChangelog={false} + defaultSection="faq" +/> diff --git a/apps/mukke/apps/web/package.json b/apps/mukke/apps/web/package.json index f70c139d6..275912f41 100644 --- a/apps/mukke/apps/web/package.json +++ b/apps/mukke/apps/web/package.json @@ -47,6 +47,7 @@ "@manacore/shared-help-types": "workspace:*", "@manacore/shared-help-ui": "workspace:*", "@manacore/shared-icons": "workspace:*", + "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-splitscreen": "workspace:^", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tailwind": "workspace:*", diff --git a/apps/mukke/apps/web/src/routes/(app)/+layout.svelte b/apps/mukke/apps/web/src/routes/(app)/+layout.svelte index 7682863d3..86ffc156d 100644 --- a/apps/mukke/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/mukke/apps/web/src/routes/(app)/+layout.svelte @@ -204,6 +204,9 @@ {appItems} {userEmail} settingsHref="/settings" + themesHref="/themes" + helpHref="/help" + profileHref="/profile" onOpenInPanel={handleOpenInPanel} ariaLabel="Main navigation" /> diff --git a/apps/mukke/apps/web/src/routes/(app)/profile/+page.svelte b/apps/mukke/apps/web/src/routes/(app)/profile/+page.svelte new file mode 100644 index 000000000..454342078 --- /dev/null +++ b/apps/mukke/apps/web/src/routes/(app)/profile/+page.svelte @@ -0,0 +1,6 @@ + + + diff --git a/apps/photos/apps/web/src/routes/(app)/+layout.svelte b/apps/photos/apps/web/src/routes/(app)/+layout.svelte index 8c82bf3ae..805f14381 100644 --- a/apps/photos/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/photos/apps/web/src/routes/(app)/+layout.svelte @@ -106,6 +106,9 @@ primaryColor="#8b5cf6" {userEmail} settingsHref="/settings" + themesHref="/themes" + helpHref="/help" + profileHref="/profile" /> diff --git a/apps/photos/apps/web/src/routes/(app)/feedback/+page.svelte b/apps/photos/apps/web/src/routes/(app)/feedback/+page.svelte new file mode 100644 index 000000000..af6af1fc9 --- /dev/null +++ b/apps/photos/apps/web/src/routes/(app)/feedback/+page.svelte @@ -0,0 +1,24 @@ + + + diff --git a/apps/photos/apps/web/src/routes/(app)/profile/+page.svelte b/apps/photos/apps/web/src/routes/(app)/profile/+page.svelte new file mode 100644 index 000000000..e916f6abe --- /dev/null +++ b/apps/photos/apps/web/src/routes/(app)/profile/+page.svelte @@ -0,0 +1,6 @@ + + + diff --git a/apps/photos/apps/web/src/routes/(app)/themes/+page.svelte b/apps/photos/apps/web/src/routes/(app)/themes/+page.svelte new file mode 100644 index 000000000..671b5fd9c --- /dev/null +++ b/apps/photos/apps/web/src/routes/(app)/themes/+page.svelte @@ -0,0 +1,19 @@ + + + + Themes | Photos + + + theme.setVariant(v)} + showModeSelector={true} + currentMode={theme.mode} + onModeChange={(m) => theme.setMode(m)} + showBackButton={true} + onBack={() => goto('/')} +/> diff --git a/apps/picture/apps/web/src/routes/app/+layout.svelte b/apps/picture/apps/web/src/routes/app/+layout.svelte index 134b13ba3..504ccfca0 100644 --- a/apps/picture/apps/web/src/routes/app/+layout.svelte +++ b/apps/picture/apps/web/src/routes/app/+layout.svelte @@ -257,6 +257,9 @@ settingsHref="/app/settings" manaHref="/app/mana" profileHref="/app/profile" + themesHref="/app/themes" + helpHref="/app/help" + feedbackHref="/app/feedback" allAppsHref="/app/apps" /> {/if} diff --git a/apps/picture/apps/web/src/routes/auth/reset-password/+page.svelte b/apps/picture/apps/web/src/routes/auth/reset-password/+page.svelte new file mode 100644 index 000000000..631f6ada6 --- /dev/null +++ b/apps/picture/apps/web/src/routes/auth/reset-password/+page.svelte @@ -0,0 +1,174 @@ + + + + Reset Password - Picture + + +
+
+ + + Picture + +
+ +
+
+
+

Reset Password

+

+ {#if success}Password reset successfully + {:else if hasToken}Enter your new password + {:else}Invalid or missing token{/if} +

+
+ + {#if success} +
+
+
+

+ Your password has been reset successfully. You will be redirected to the login page + shortly. +

+ + Go to login + +
+
+ {:else if hasToken} +
+
+ {#if error} +
+ {error} +
+ {/if} +
+
+ + +

At least 8 characters

+
+
+ + +
+ +
+
+
+ {:else} +
+
+
⚠️
+

+ This password reset link is invalid or has expired. +

+ + Request a new link + +
+
+ {/if} +
+
+
diff --git a/apps/planta/apps/web/package.json b/apps/planta/apps/web/package.json index b5ca4178d..959213899 100644 --- a/apps/planta/apps/web/package.json +++ b/apps/planta/apps/web/package.json @@ -36,9 +36,12 @@ "@manacore/shared-branding": "workspace:*", "@manacore/shared-error-tracking": "workspace:*", "@manacore/shared-i18n": "workspace:*", + "@manacore/shared-feedback-service": "workspace:*", + "@manacore/shared-feedback-ui": "workspace:*", "@manacore/shared-help-types": "workspace:*", "@manacore/shared-help-ui": "workspace:*", "@manacore/shared-icons": "workspace:*", + "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/planta/apps/web/src/routes/(app)/+layout.svelte b/apps/planta/apps/web/src/routes/(app)/+layout.svelte index 164181bec..6fe119e8a 100644 --- a/apps/planta/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/planta/apps/web/src/routes/(app)/+layout.svelte @@ -96,6 +96,10 @@ onLogout={handleLogout} loginHref="/login" primaryColor="#10b981" + settingsHref="/settings" + themesHref="/themes" + helpHref="/help" + profileHref="/profile" /> diff --git a/apps/planta/apps/web/src/routes/(app)/feedback/+page.svelte b/apps/planta/apps/web/src/routes/(app)/feedback/+page.svelte new file mode 100644 index 000000000..fcac75ac3 --- /dev/null +++ b/apps/planta/apps/web/src/routes/(app)/feedback/+page.svelte @@ -0,0 +1,24 @@ + + + diff --git a/apps/planta/apps/web/src/routes/(app)/profile/+page.svelte b/apps/planta/apps/web/src/routes/(app)/profile/+page.svelte new file mode 100644 index 000000000..2c8711b79 --- /dev/null +++ b/apps/planta/apps/web/src/routes/(app)/profile/+page.svelte @@ -0,0 +1,6 @@ + + + diff --git a/apps/planta/apps/web/src/routes/(app)/themes/+page.svelte b/apps/planta/apps/web/src/routes/(app)/themes/+page.svelte new file mode 100644 index 000000000..515646940 --- /dev/null +++ b/apps/planta/apps/web/src/routes/(app)/themes/+page.svelte @@ -0,0 +1,19 @@ + + + + Themes | Planta + + + theme.setVariant(v)} + showModeSelector={true} + currentMode={theme.mode} + onModeChange={(m) => theme.setMode(m)} + showBackButton={true} + onBack={() => goto('/')} +/> diff --git a/apps/presi/apps/web/src/routes/(app)/+layout.svelte b/apps/presi/apps/web/src/routes/(app)/+layout.svelte index df4898c45..0d48f4700 100644 --- a/apps/presi/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/presi/apps/web/src/routes/(app)/+layout.svelte @@ -184,6 +184,8 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" + helpHref="/help" allAppsHref="/apps" /> diff --git a/apps/questions/apps/web/package.json b/apps/questions/apps/web/package.json index 7b62096d9..a90d34b00 100644 --- a/apps/questions/apps/web/package.json +++ b/apps/questions/apps/web/package.json @@ -40,9 +40,12 @@ "@manacore/shared-branding": "workspace:*", "@manacore/shared-error-tracking": "workspace:*", "@manacore/shared-i18n": "workspace:*", + "@manacore/shared-feedback-service": "workspace:*", + "@manacore/shared-feedback-ui": "workspace:*", "@manacore/shared-help-types": "workspace:*", "@manacore/shared-help-ui": "workspace:*", "@manacore/shared-icons": "workspace:*", + "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-app-onboarding": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", diff --git a/apps/questions/apps/web/src/routes/(app)/+layout.svelte b/apps/questions/apps/web/src/routes/(app)/+layout.svelte index 946aa1816..255b74f05 100644 --- a/apps/questions/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/questions/apps/web/src/routes/(app)/+layout.svelte @@ -204,6 +204,9 @@ {appItems} {userEmail} settingsHref="/settings" + themesHref="/themes" + helpHref="/help" + profileHref="/profile" /> diff --git a/apps/questions/apps/web/src/routes/(app)/feedback/+page.svelte b/apps/questions/apps/web/src/routes/(app)/feedback/+page.svelte new file mode 100644 index 000000000..06b549efc --- /dev/null +++ b/apps/questions/apps/web/src/routes/(app)/feedback/+page.svelte @@ -0,0 +1,24 @@ + + + diff --git a/apps/questions/apps/web/src/routes/(app)/profile/+page.svelte b/apps/questions/apps/web/src/routes/(app)/profile/+page.svelte new file mode 100644 index 000000000..019c459ac --- /dev/null +++ b/apps/questions/apps/web/src/routes/(app)/profile/+page.svelte @@ -0,0 +1,6 @@ + + + diff --git a/apps/questions/apps/web/src/routes/(app)/themes/+page.svelte b/apps/questions/apps/web/src/routes/(app)/themes/+page.svelte new file mode 100644 index 000000000..1c22e9ec0 --- /dev/null +++ b/apps/questions/apps/web/src/routes/(app)/themes/+page.svelte @@ -0,0 +1,19 @@ + + + + Themes | Questions + + + theme.setVariant(v)} + showModeSelector={true} + currentMode={theme.mode} + onModeChange={(m) => theme.setMode(m)} + showBackButton={true} + onBack={() => goto('/')} +/> diff --git a/apps/storage/apps/web/src/routes/+layout.svelte b/apps/storage/apps/web/src/routes/+layout.svelte index 15bca5d6e..2f8515af9 100644 --- a/apps/storage/apps/web/src/routes/+layout.svelte +++ b/apps/storage/apps/web/src/routes/+layout.svelte @@ -192,6 +192,7 @@ settingsHref="/settings" manaHref="/mana" profileHref="/profile" + themesHref="/themes" helpHref="/help" allAppsHref="/apps" /> diff --git a/apps/storage/apps/web/src/routes/reset-password/+page.svelte b/apps/storage/apps/web/src/routes/reset-password/+page.svelte new file mode 100644 index 000000000..b0da1ef2a --- /dev/null +++ b/apps/storage/apps/web/src/routes/reset-password/+page.svelte @@ -0,0 +1,174 @@ + + + + Reset Password - Storage + + +
+
+ + + Storage + +
+ +
+
+
+

Reset Password

+

+ {#if success}Password reset successfully + {:else if hasToken}Enter your new password + {:else}Invalid or missing token{/if} +

+
+ + {#if success} +
+
+
+

+ Your password has been reset successfully. You will be redirected to the login page + shortly. +

+ + Go to login + +
+
+ {:else if hasToken} +
+
+ {#if error} +
+ {error} +
+ {/if} +
+
+ + +

At least 8 characters

+
+
+ + +
+ +
+
+
+ {:else} +
+
+
⚠️
+

+ This password reset link is invalid or has expired. +

+ + Request a new link + +
+
+ {/if} +
+
+
diff --git a/apps/todo/apps/web/src/routes/(app)/+layout.svelte b/apps/todo/apps/web/src/routes/(app)/+layout.svelte index 5e7ded5c6..d24315d47 100644 --- a/apps/todo/apps/web/src/routes/(app)/+layout.svelte +++ b/apps/todo/apps/web/src/routes/(app)/+layout.svelte @@ -348,6 +348,7 @@ allAppsHref="/apps" themesHref="/themes" spiralHref="/spiral" + helpHref="/help" onOpenInPanel={handleOpenInPanel} ariaLabel="Hauptnavigation" /> diff --git a/apps/todo/apps/web/src/routes/(app)/profile/+page.svelte b/apps/todo/apps/web/src/routes/(app)/profile/+page.svelte new file mode 100644 index 000000000..8e02c4da2 --- /dev/null +++ b/apps/todo/apps/web/src/routes/(app)/profile/+page.svelte @@ -0,0 +1,6 @@ + + + diff --git a/apps/zitare/apps/web/src/routes/(app)/profile/+page.svelte b/apps/zitare/apps/web/src/routes/(app)/profile/+page.svelte new file mode 100644 index 000000000..4ba957092 --- /dev/null +++ b/apps/zitare/apps/web/src/routes/(app)/profile/+page.svelte @@ -0,0 +1,6 @@ + + + diff --git a/apps/zitare/apps/web/src/routes/(app)/themes/+page.svelte b/apps/zitare/apps/web/src/routes/(app)/themes/+page.svelte new file mode 100644 index 000000000..f96ec8166 --- /dev/null +++ b/apps/zitare/apps/web/src/routes/(app)/themes/+page.svelte @@ -0,0 +1,19 @@ + + + + Themes | Zitare + + + theme.setVariant(v)} + showModeSelector={true} + currentMode={theme.mode} + onModeChange={(m) => theme.setMode(m)} + showBackButton={true} + onBack={() => goto('/')} +/>