feat(frontend): add grooming schedule CRUD page

- New route /routines/grooming-schedule with load + create/update/delete actions
- Entries grouped by day of week with inline editing
- 4 API functions added to api.ts (get/create/update/delete)
- Nav: add Grooming link, fix isActive to not highlight parent when child matches
- Nav: replace ⌂ text char with 🏠 emoji for Dashboard

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Piotr Oleszczyk 2026-02-28 23:46:33 +01:00
parent 1b1566e6d7
commit a3b25d5e46
4 changed files with 307 additions and 2 deletions

View file

@ -1,6 +1,7 @@
import { PUBLIC_API_BASE } from '$env/static/public';
import type {
ActiveIngredient,
GroomingSchedule,
LabResult,
MedicationEntry,
MedicationUsage,
@ -129,6 +130,15 @@ export const updateRoutineStep = (stepId: string, body: Record<string, unknown>)
export const deleteRoutineStep = (stepId: string): Promise<void> =>
api.del(`/routines/steps/${stepId}`);
export const getGroomingSchedule = (): Promise<GroomingSchedule[]> =>
api.get('/routines/grooming-schedule');
export const createGroomingScheduleEntry = (body: Record<string, unknown>): Promise<GroomingSchedule> =>
api.post('/routines/grooming-schedule', body);
export const updateGroomingScheduleEntry = (id: string, body: Record<string, unknown>): Promise<GroomingSchedule> =>
api.patch(`/routines/grooming-schedule/${id}`, body);
export const deleteGroomingScheduleEntry = (id: string): Promise<void> =>
api.del(`/routines/grooming-schedule/${id}`);
// ─── Health Medications ────────────────────────────────────────────────────
export interface MedicationListParams {