From a270d965fe666d479804c3a302f3b520fad00a61 Mon Sep 17 00:00:00 2001 From: JCEEE <0xjceee@proton.me> Date: Thu, 10 Sep 2026 13:23:55 +0100 Subject: [PATCH] add theme patterns --- frontend/src/hooks.server.ts | 5 +- .../src/lib/components/PatternPicker.svelte | 184 ++++ frontend/src/lib/components/index.ts | 1 + frontend/src/lib/server/migrate.ts | 12 + frontend/src/lib/server/services/fam.ts | 25 +- frontend/src/lib/server/types.ts | 5 +- frontend/src/lib/stores/theme.svelte.ts | 14 + frontend/src/lib/theme-patterns.css | 991 ++++++++++++++++++ frontend/src/lib/theme.ts | 61 ++ frontend/src/routes/[fam]/+layout.server.ts | 3 + frontend/src/routes/[fam]/+layout.svelte | 22 +- .../[username]/preferences/+page.server.ts | 35 +- .../[fam]/[username]/preferences/+page.svelte | 98 +- 13 files changed, 1429 insertions(+), 27 deletions(-) create mode 100644 frontend/src/lib/components/PatternPicker.svelte create mode 100644 frontend/src/lib/stores/theme.svelte.ts create mode 100644 frontend/src/lib/theme-patterns.css create mode 100644 frontend/src/lib/theme.ts diff --git a/frontend/src/hooks.server.ts b/frontend/src/hooks.server.ts index 65c3426..715172d 100644 --- a/frontend/src/hooks.server.ts +++ b/frontend/src/hooks.server.ts @@ -55,7 +55,10 @@ export const handle: Handle = async ({ event, resolve }) => { username: handleOf(record.username || ''), role: record.role || 'parent', famId: record.famId, - color: record.color || '' + color: record.color || '', + pattern: record.pattern || '', + themeSize: record.themeSize || '', + themeOpacity: record.themeOpacity || '' } satisfies SessionUser; event.locals.pbToken = freshToken; diff --git a/frontend/src/lib/components/PatternPicker.svelte b/frontend/src/lib/components/PatternPicker.svelte new file mode 100644 index 0000000..9040d0c --- /dev/null +++ b/frontend/src/lib/components/PatternPicker.svelte @@ -0,0 +1,184 @@ + + +