From edc8568cc4aac1aa9b97920af03614e8292e3ef4 Mon Sep 17 00:00:00 2001 From: JCEEE <0xjceee@proton.me> Date: Fri, 25 Sep 2026 08:24:26 +0100 Subject: [PATCH] update schema --- frontend/src/routes/[fam]/[username]/chores/+page.server.ts | 5 +++-- frontend/src/routes/api/todos/+server.ts | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/src/routes/[fam]/[username]/chores/+page.server.ts b/frontend/src/routes/[fam]/[username]/chores/+page.server.ts index 12387bb..ede34ba 100644 --- a/frontend/src/routes/[fam]/[username]/chores/+page.server.ts +++ b/frontend/src/routes/[fam]/[username]/chores/+page.server.ts @@ -116,7 +116,8 @@ export const actions = { const startDate = fd.get('startDate') as string; if (type) data.type = type; if (type === 'emoji') { - data.value = 0; + // 1, not 0: PB treats 0 as blank on the required `value` field. + data.value = 1; data.emoji = (fd.get('emoji') as string) || '🎉'; } else if (fd.get('value')) data.value = parseFloat(fd.get('value') as string) || 0; data.customName = customName || undefined; @@ -160,7 +161,7 @@ export const actions = { const memberId = fd.get('memberId') as string; const name = fd.get('name') as string; const type = fd.get('type') as string; - const value = type === 'emoji' ? 0 : (parseFloat(fd.get('value') as string) || 0); + const value = type === 'emoji' ? 1 : (parseFloat(fd.get('value') as string) || 0); const emoji = type === 'emoji' ? ((fd.get('emoji') as string) || '🎉') : ''; const todoStart = fd.get('todoStart') as string; const todoCompleteBy = fd.get('todoCompleteBy') as string; diff --git a/frontend/src/routes/api/todos/+server.ts b/frontend/src/routes/api/todos/+server.ts index 346c8b1..6a34e1b 100644 --- a/frontend/src/routes/api/todos/+server.ts +++ b/frontend/src/routes/api/todos/+server.ts @@ -33,7 +33,10 @@ export async function POST(event: RequestEvent) { memberId: u.id, frequency: 'weekly', type: 'emoji', - value: 0, + // Must be 1, not 0: PB treats 0 as blank on the required `value` + // number field (400 validation_required). Value is meaningless for + // emoji todos — never summed, never displayed, never rewarded. + value: 1, customName: name, isTodo: true, emoji: '🎯',