From de6047f4063c5c8a25ed2c92fb34c9674f6bee63 Mon Sep 17 00:00:00 2001 From: JCEEE <0xjceee@proton.me> Date: Tue, 8 Sep 2026 18:34:58 +0100 Subject: [PATCH] fix child pref updates --- .../[username]/preferences/+page.server.ts | 50 +++++++++++++++---- .../[fam]/[username]/preferences/+page.svelte | 39 ++++++++------- 2 files changed, 61 insertions(+), 28 deletions(-) diff --git a/frontend/src/routes/[fam]/[username]/preferences/+page.server.ts b/frontend/src/routes/[fam]/[username]/preferences/+page.server.ts index f6cc9da..b52cafe 100644 --- a/frontend/src/routes/[fam]/[username]/preferences/+page.server.ts +++ b/frontend/src/routes/[fam]/[username]/preferences/+page.server.ts @@ -7,7 +7,16 @@ export async function load(event) { const username = event.params.username; if (!session) { - return { verified: false, token: '', memberId: '', famId: '', memberName: '', memberColor: '', email: '' }; + return { + verified: false, + role: '', + token: '', + memberId: '', + famId: '', + memberName: '', + memberColor: '', + email: '' + }; } const famId = session.famId; @@ -21,20 +30,41 @@ export async function load(event) { try { const me = await s.fam.getProfile(famId); return { - verified: true, token: '', memberId: me.id, famId, - memberName: me.name, memberColor: me.color, email: me.email || '', - session: true, + verified: true, + role: 'parent', + token: '', + memberId: me.id, + famId, + memberName: me.name, + memberColor: me.color, + email: me.email || '', + session: true }; } catch { - return { verified: false, token: '', memberId: '', famId: '', memberName: '', memberColor: '', email: '' }; + return { + verified: false, + role: '', + token: '', + memberId: '', + famId: '', + memberName: '', + memberColor: '', + email: '' + }; } } // Child — profile lives on the users record, read from the session. return { - verified: true, token: event.cookies.get('pb_token') || '', memberId: session.id, famId, - memberName: session.name || '', memberColor: session.color || '', email: '', - session: true, + verified: true, + role: 'child', + token: event.cookies.get('pb_token') || '', + memberId: session.id, + famId, + memberName: session.name || '', + memberColor: session.color || '', + email: '', + session: true }; } @@ -74,5 +104,5 @@ export const actions = { } catch (e) { return { error: e instanceof Error ? e.message : 'Update failed' }; } - }, -}; \ No newline at end of file + } +}; diff --git a/frontend/src/routes/[fam]/[username]/preferences/+page.svelte b/frontend/src/routes/[fam]/[username]/preferences/+page.svelte index 1954046..d539315 100644 --- a/frontend/src/routes/[fam]/[username]/preferences/+page.svelte +++ b/frontend/src/routes/[fam]/[username]/preferences/+page.svelte @@ -8,7 +8,16 @@ let memberColor = $state(data.memberColor || '#6366f1'); let memberEmail = $state(data.email || ''); - const colors = ['#6366f1', '#ec4899', '#f59e0b', '#10b981', '#3b82f6', '#ef4444', '#8b5cf6', '#14b8a6']; + const colors = [ + '#6366f1', + '#ec4899', + '#f59e0b', + '#10b981', + '#3b82f6', + '#ef4444', + '#8b5cf6', + '#14b8a6' + ]; @@ -59,35 +68,29 @@ {#each colors as c} {/each} -
- - {#if data.session} + {#if data.role === 'parent'} +
+ - {:else} - - {/if} -
+
+ {/if} {#if form?.error}

{form.error}