-
-
{/if}
- {#if data.totalPages > 1}
-
- {/if}
-
- {#snippet desktopActions(r: LabResultItem)}
-
-
-
-
-
- {#if r.flag}
-
{r.flag}
- {/if}
-
-
{r.collected_at.slice(0, 10)}
-
-
- {formatValue(r)}
-
- {#if r.lab}
-
{r.lab}
- {/if}
- {@render mobileActions(r)}
-
+
@@ -659,47 +134,72 @@
{m["labResults_colValue"]()}
{m["labResults_colFlag"]()}
{m["labResults_colLab"]()}
- {m["labResults_colActions"]()}
- {#each displayGroups as group (group.key)}
- {#if group.label}
-
-
-
- {group.label}
-
-
-
- {/if}
- {#each group.items as r (r.record_id)}
- {@render desktopRow(r)}
- {/each}
- {/each}
- {#if data.resultPage.items.length === 0}
+ {#each data.results as r (r.record_id)}
-
+ {r.collected_at.slice(0, 10)}
+ {r.test_name_original ?? r.test_code}
+ {r.test_code}
+
+ {#if r.value_num != null}
+ {r.value_num} {r.unit_original ?? ''}
+ {:else if r.value_text}
+ {r.value_text}
+ {:else}
+ —
+ {/if}
+
+
+ {#if r.flag}
+
+ {r.flag}
+
+ {:else}
+ —
+ {/if}
+
+ {r.lab ?? '—'}
+
+ {:else}
+
+
{m["labResults_noResults"]()}
- {/if}
+ {/each}
-
- {#each displayGroups as group (group.key)}
- {#if group.label}
-
{group.label}
- {/if}
- {#each group.items as r (r.record_id)}
- {@render mobileCard(r)}
- {/each}
- {/each}
- {#if data.resultPage.items.length === 0}
+
+ {#each data.results as r (r.record_id)}
+
+
+ {r.test_name_original ?? r.test_code}
+ {#if r.flag}
+
+ {r.flag}
+
+ {/if}
+
+
{r.collected_at.slice(0, 10)}
+
+ {r.test_code}
+ {#if r.value_num != null}
+ {r.value_num} {r.unit_original ?? ''}
+ {:else if r.value_text}
+ {r.value_text}
+ {/if}
+
+ {#if r.lab}
+
{r.lab}
+ {/if}
+
+ {:else}
{m["labResults_noResults"]()}
- {/if}
+ {/each}
diff --git a/frontend/src/routes/health/medications/+page.svelte b/frontend/src/routes/health/medications/+page.svelte
index f34be71..1b791f1 100644
--- a/frontend/src/routes/health/medications/+page.svelte
+++ b/frontend/src/routes/health/medications/+page.svelte
@@ -1,5 +1,6 @@
-
-
{m.profile_title()} — innercontext
-
-
-
- {m["nav_appSubtitle"]()}
- {m.profile_title()}
- {m.profile_subtitle()}
-
-
- {#if form?.error}
-
{form.error}
- {/if}
- {#if form?.saved}
-
{m.profile_saved()}
- {/if}
-
-
-
diff --git a/frontend/src/routes/routines/+page.svelte b/frontend/src/routes/routines/+page.svelte
index 730f1f8..b72c3bc 100644
--- a/frontend/src/routes/routines/+page.svelte
+++ b/frontend/src/routes/routines/+page.svelte
@@ -4,7 +4,6 @@
import { m } from '$lib/paraglide/messages.js';
import { Badge } from '$lib/components/ui/badge';
import { Button } from '$lib/components/ui/button';
- import { Sparkles } from 'lucide-svelte';
let { data }: { data: PageData } = $props();
@@ -29,7 +28,7 @@
{m.routines_title()}
{m.routines_count({ count: data.routines.length })}
-
+
diff --git a/frontend/src/routes/routines/[id]/+page.server.ts b/frontend/src/routes/routines/[id]/+page.server.ts
index 426a4b4..73dcbdf 100644
--- a/frontend/src/routes/routines/[id]/+page.server.ts
+++ b/frontend/src/routes/routines/[id]/+page.server.ts
@@ -1,10 +1,10 @@
-import { addRoutineStep, deleteRoutine, deleteRoutineStep, getProductSummaries, getRoutine } from '$lib/api';
+import { addRoutineStep, deleteRoutine, deleteRoutineStep, getProducts, getRoutine } from '$lib/api';
import { error, fail, redirect } from '@sveltejs/kit';
import type { Actions, PageServerLoad } from './$types';
export const load: PageServerLoad = async ({ params }) => {
try {
- const [routine, products] = await Promise.all([getRoutine(params.id), getProductSummaries()]);
+ const [routine, products] = await Promise.all([getRoutine(params.id), getProducts()]);
return { routine, products };
} catch {
error(404, 'Routine not found');
diff --git a/frontend/src/routes/routines/[id]/+page.svelte b/frontend/src/routes/routines/[id]/+page.svelte
index a80c9d7..ee8e846 100644
--- a/frontend/src/routes/routines/[id]/+page.svelte
+++ b/frontend/src/routes/routines/[id]/+page.svelte
@@ -149,7 +149,7 @@
Routine {routine.routine_date} {routine.part_of_day.toUpperCase()} — innercontext
-
+
{m["routines_backToList"]()}
{m["nav_appSubtitle"]()}
diff --git a/frontend/src/routes/routines/grooming-schedule/+page.svelte b/frontend/src/routes/routines/grooming-schedule/+page.svelte
index 2050166..869bceb 100644
--- a/frontend/src/routes/routines/grooming-schedule/+page.svelte
+++ b/frontend/src/routes/routines/grooming-schedule/+page.svelte
@@ -48,15 +48,17 @@
{m.grooming_title()} — innercontext