diff --git a/messages/de.json b/messages/de.json index 535b44c94..186c9727b 100644 --- a/messages/de.json +++ b/messages/de.json @@ -6492,6 +6492,8 @@ "label": "Reihenfolge der Werte", "recentDesc": "Neueste Messung zuerst", "recentAsc": "Älteste Messung zuerst", + "alphaAsc": "Name (A–Z)", + "alphaDesc": "Name (Z–A)", "manual": "Manuell sortieren", "hint": "Bei manueller Sortierung kannst du die Biomarker unten in deine eigene Reihenfolge bringen." }, diff --git a/messages/en.json b/messages/en.json index b2372522b..81dcf5592 100644 --- a/messages/en.json +++ b/messages/en.json @@ -6492,6 +6492,8 @@ "label": "Order of values", "recentDesc": "Most recent reading first", "recentAsc": "Oldest reading first", + "alphaAsc": "Name (A–Z)", + "alphaDesc": "Name (Z–A)", "manual": "Sort manually", "hint": "With manual sorting you can drag the biomarkers below into your own order." }, diff --git a/messages/es.json b/messages/es.json index be2580372..2d7aa9048 100644 --- a/messages/es.json +++ b/messages/es.json @@ -6492,6 +6492,8 @@ "label": "Orden de los valores", "recentDesc": "Medición más reciente primero", "recentAsc": "Medición más antigua primero", + "alphaAsc": "Nombre (A–Z)", + "alphaDesc": "Nombre (Z–A)", "manual": "Ordenar manualmente", "hint": "Con el orden manual puedes arrastrar los biomarcadores de abajo en tu propio orden." }, diff --git a/messages/fr.json b/messages/fr.json index 4cbe3b34f..2ddbd9e27 100644 --- a/messages/fr.json +++ b/messages/fr.json @@ -6492,6 +6492,8 @@ "label": "Ordre des valeurs", "recentDesc": "Mesure la plus récente d'abord", "recentAsc": "Mesure la plus ancienne d'abord", + "alphaAsc": "Nom (A–Z)", + "alphaDesc": "Nom (Z–A)", "manual": "Trier manuellement", "hint": "En tri manuel, vous pouvez glisser les biomarqueurs ci-dessous dans votre propre ordre." }, diff --git a/messages/it.json b/messages/it.json index 5866e29ba..853908316 100644 --- a/messages/it.json +++ b/messages/it.json @@ -6492,6 +6492,8 @@ "label": "Ordine dei valori", "recentDesc": "Misurazione più recente prima", "recentAsc": "Misurazione più vecchia prima", + "alphaAsc": "Nome (A–Z)", + "alphaDesc": "Nome (Z–A)", "manual": "Ordina manualmente", "hint": "Con l'ordinamento manuale puoi trascinare i biomarcatori qui sotto nel tuo ordine." }, diff --git a/messages/pl.json b/messages/pl.json index 1acef823f..3ec2a923d 100644 --- a/messages/pl.json +++ b/messages/pl.json @@ -6492,6 +6492,8 @@ "label": "Kolejność wartości", "recentDesc": "Najnowszy pomiar najpierw", "recentAsc": "Najstarszy pomiar najpierw", + "alphaAsc": "Nazwa (A–Z)", + "alphaDesc": "Nazwa (Z–A)", "manual": "Sortuj ręcznie", "hint": "Przy sortowaniu ręcznym możesz przeciągnąć biomarkery poniżej we własnej kolejności." }, diff --git a/src/components/labs/labs-settings.tsx b/src/components/labs/labs-settings.tsx index 6fc7982f4..104bed28d 100644 --- a/src/components/labs/labs-settings.tsx +++ b/src/components/labs/labs-settings.tsx @@ -14,7 +14,15 @@ * View / sort / order persist client-side via `useModuleListPrefs("labs")`. */ import { useQuery } from "@tanstack/react-query"; +import { + ArrowDownUp, + FlaskConical, + LayoutGrid, + ListOrdered, +} from "lucide-react"; +import { SettingsCard } from "@/components/settings/settings-card"; +import { SettingsCardHeader } from "@/components/settings/_card-header"; import { NativeSelect } from "@/components/ui/native-select"; import { Label } from "@/components/ui/label"; import { Skeleton } from "@/components/ui/skeleton"; @@ -54,22 +62,30 @@ export function LabsSettings() { const manual = prefs.sortDir === "manual"; + // v1.18.9 (#44) — the Labs settings sub-page now follows the canonical + // Settings dialect: every block is a `` with a + // `` (neutral icon + title + short description), the + // same shape as Stimmung / AI / Mitteilungen, instead of bare `
` + + // `text-sm` headings. return ( -
-
-
-

- {t("moduleList.viewHeading")} -

- -
-

- {t("moduleList.viewDescription")} -

-
+
+ {/* View — card vs compact list. */} + + } + /> + -
-

{t("labs.sort.heading")}

+ {/* Sort order — recency, alphabetical, or manual. */} + +
+ + -

{t("labs.sort.hint")}

-
+ {manual ? ( -
-

- {t("moduleList.reorder.heading")} -

+ + {isLoading ? (
{Array.from({ length: 3 }, (_, i) => ( @@ -99,15 +117,17 @@ export function LabsSettings() { ) : ( )} -
+ ) : null} -
-

- {t("labs.biomarker.manageTitle")} -

+ {/* Biomarker catalog — define / edit / delete. */} + + -
+
); }