aboutsummaryrefslogtreecommitdiff
path: root/src/routes/grocery
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-09-08 09:25:03 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-09-08 09:25:03 +0200
commit3148742b323ab71f1ef768a2f4dc353c00944034 (patch)
tree8f88990514fb58d11a8669b58a7265dbd3420fe0 /src/routes/grocery
parent7d85a18867ca0fe2310218c63cfc696c0f916171 (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.ts13
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();