feat(measurements): value-range filter on the management list

Add an optional numeric value-range filter to the measurement list:
readings whose `value` falls within `[valueMin, valueMax]`, either bound
omittable for an open-ended range. Server-authoritative — both bounds are
parsed on `listMeasurementsSchema` (coerced from the query string), an
inverted `valueMin > valueMax` returns 422, and the bounds thread into the
Prisma `where` as a `value: { gte, lte }` range on the raw per-sample list.

The filter rides a new `FilterBarNumberRange` pill that mirrors the existing
date-range control, hidden for the day-grouped and sleep-night types where
the painted value is a synthesised total rather than a stored reading.
This commit is contained in:
Marc-André Bombeck committed 2026-06-18 14:42:29 +02:00
1 parent 8920a35d38
commit cc89695cbd
14 files changed
+286 -4

No files matched your search

+4
View File
@@ -20,6 +20,8 @@ export const measurementKeys = {
sourceEq: string | undefined;
from: string | undefined;
to: string | undefined;
valueMin: number | undefined;
valueMax: number | undefined;
page: number;
sortBy: string;
sortDir: string;
@@ -32,6 +34,8 @@ export const measurementKeys = {
params.sourceEq ?? null,
params.from ?? null,
params.to ?? null,
params.valueMin ?? null,
params.valueMax ?? null,
params.page,
params.sortBy,
params.sortDir,