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

+3
View File
@@ -6377,6 +6377,9 @@
"dateFrom": "Von",
"dateTo": "Bis",
"dateRange": "Zeitraum",
"valueRange": "Wert",
"valueMin": "Min.",
"valueMax": "Max.",
"typeLabel": "Typ",
"sourceLabel": "Quelle",
"resetFilters": "Zurücksetzen",
+3
View File
@@ -6377,6 +6377,9 @@
"dateFrom": "From",
"dateTo": "To",
"dateRange": "Date range",
"valueRange": "Value",
"valueMin": "Min",
"valueMax": "Max",
"typeLabel": "Type",
"sourceLabel": "Source",
"resetFilters": "Reset",
+3
View File
@@ -6377,6 +6377,9 @@
"dateFrom": "Desde",
"dateTo": "Hasta",
"dateRange": "Periodo",
"valueRange": "Valor",
"valueMin": "Mín.",
"valueMax": "Máx.",
"typeLabel": "Tipo",
"sourceLabel": "Fuente",
"resetFilters": "Restablecer",
+3
View File
@@ -6377,6 +6377,9 @@
"dateFrom": "Du",
"dateTo": "Au",
"dateRange": "Période",
"valueRange": "Valeur",
"valueMin": "Min.",
"valueMax": "Max.",
"typeLabel": "Type",
"sourceLabel": "Source",
"resetFilters": "Réinitialiser",
+3
View File
@@ -6377,6 +6377,9 @@
"dateFrom": "Dal",
"dateTo": "Al",
"dateRange": "Periodo",
"valueRange": "Valore",
"valueMin": "Min.",
"valueMax": "Max.",
"typeLabel": "Tipo",
"sourceLabel": "Fonte",
"resetFilters": "Reimposta",
+3
View File
@@ -6377,6 +6377,9 @@
"dateFrom": "Od",
"dateTo": "Do",
"dateRange": "Zakres dat",
"valueRange": "Wartość",
"valueMin": "Min.",
"valueMax": "Maks.",
"typeLabel": "Typ",
"sourceLabel": "Źródło",
"resetFilters": "Resetuj",