diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-09-08 09:25:03 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-09-08 09:25:03 +0200 |
| commit | 3148742b323ab71f1ef768a2f4dc353c00944034 (patch) | |
| tree | 8f88990514fb58d11a8669b58a7265dbd3420fe0 /src/routes/grocery | |
| parent | 7d85a18867ca0fe2310218c63cfc696c0f916171 (diff) | |
Share grocery row component and list-page form actions
- GroceryRow.svelte renders the toggle row (checkbox, name, best ref,
arrow link) for both the list and catalog pages
- grocery-actions.ts grows full form actions: addCategoryAction,
addGroceryAction, addGroceryAndEditAction, deleteByIdAction; the
categories/groceries route servers become thin wrappers
Diffstat (limited to 'src/routes/grocery')
| -rw-r--r-- | src/routes/grocery/[id]/+page.server.ts | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/routes/grocery/[id]/+page.server.ts b/src/routes/grocery/[id]/+page.server.ts index e1e2751..656e19c 100644 --- a/src/routes/grocery/[id]/+page.server.ts +++ b/src/routes/grocery/[id]/+page.server.ts @@ -9,6 +9,7 @@ import { deleteReference, } from '$lib/server/services/references'; import { updateGrocery, deleteGrocery } from '$lib/server/services/groceries'; +import { deleteByIdAction } from '$lib/server/services/grocery-actions'; import { numericId, parseFormString, @@ -68,16 +69,8 @@ export const actions: Actions = { return { success: true, type: 'add' as const }; }, - delete: async ({ request }) => { - const data = await request.formData(); - try { - const id = numericId(data.get('id')); - await deleteReference(id); - } catch { - return fail(400, { error: 'ID invalide' }); - } - return { success: true, type: 'delete' as const }; - }, + delete: ({ request }) => + deleteByIdAction(request, deleteReference, { type: 'delete' }), update: async ({ request, params }) => { const data = await request.formData(); |
