From 113415ce357a9cea1759d0452ebae6352f8fe36b Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Mon, 7 Sep 2026 10:55:06 +0200 Subject: Split groceries domain out of the app root Move the grocery list, catalog, and categories routes under /groceries/ so the app home can host the projects/routines overview next. Update nav to exact-path matching, login redirect default, and layout title. --- src/routes/+page.server.ts | 71 ---------------------------------------------- 1 file changed, 71 deletions(-) delete mode 100644 src/routes/+page.server.ts (limited to 'src/routes/+page.server.ts') diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts deleted file mode 100644 index 1e6f60b..0000000 --- a/src/routes/+page.server.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { fail, redirect, error } from '@sveltejs/kit'; -import { - loadUnchecked, - loadAll, - toggle, - addOrUncheck, -} from '$lib/server/services/groceries'; -import { - numericId, - parseFormString, - parseOptionalNumber, -} from '$lib/server/services/validation'; -import type { EnrichedGrocery } from '$lib/server/services/groceries'; -import type { Category } from '$lib/server/services/types'; -import type { Actions, PageServerLoad } from './$types'; - -export interface HomeOutput { - items: EnrichedGrocery[]; - categories: Category[]; - catalog: EnrichedGrocery[]; -} - -export const load: PageServerLoad = async () => { - const unchecked = await loadUnchecked(); - const all = await loadAll(); - return { - items: unchecked.items, - categories: unchecked.categories, - catalog: all.items, - }; -}; - -export const actions: Actions = { - add: async ({ request }) => { - const data = await request.formData(); - const name = parseFormString(data.get('name')); - const categoryId = parseOptionalNumber(data.get('category_id')); - - if (!name) { - return fail(400, { error: 'Le nom est requis' }); - } - - await addOrUncheck(name, categoryId); - const { items } = await loadUnchecked(); - return { success: true, items }; - }, - - toggle: async ({ request }) => { - const data = await request.formData(); - try { - const id = numericId(data.get('id')); - await toggle(id); - } catch { - return fail(400, { error: 'ID invalide' }); - } - return { success: true }; - }, - - addAndEdit: async ({ request }) => { - const data = await request.formData(); - const name = parseFormString(data.get('name')); - const categoryId = parseOptionalNumber(data.get('category_id')); - - if (!name) { - return fail(400, { error: 'Le nom est requis' }); - } - - const { item, created } = await addOrUncheck(name, categoryId); - throw redirect(303, `/grocery/${item.id}`); - }, -}; -- cgit v1.3