diff --git a/src/components/illness/log-day-sheet.tsx b/src/components/illness/log-day-sheet.tsx
index 19319ee94..1f6a740e8 100644
--- a/src/components/illness/log-day-sheet.tsx
+++ b/src/components/illness/log-day-sheet.tsx
@@ -19,6 +19,7 @@ import { Activity, CalendarDays, NotebookPen, Thermometer } from "lucide-react";
import { ResponsiveSheet } from "@/components/ui/responsive-sheet";
import { SheetSection, SheetSectionCount } from "@/components/ui/sheet-section";
import { Button } from "@/components/ui/button";
+import { DateField } from "@/components/ui/date-field";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { Textarea } from "@/components/ui/textarea";
@@ -266,14 +267,13 @@ export function LogDaySheet({
- {
- if (e.target.value) setSelectedDate(e.target.value);
+ onChange={(value) => {
+ if (value) setSelectedDate(value);
}}
className="max-w-44"
/>
diff --git a/src/components/illness/new-episode-sheet.tsx b/src/components/illness/new-episode-sheet.tsx
index a93d61480..0334548b3 100644
--- a/src/components/illness/new-episode-sheet.tsx
+++ b/src/components/illness/new-episode-sheet.tsx
@@ -10,6 +10,7 @@ import { useState } from "react";
import { ResponsiveSheet } from "@/components/ui/responsive-sheet";
import { Button } from "@/components/ui/button";
+import { DateField } from "@/components/ui/date-field";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { Textarea } from "@/components/ui/textarea";
@@ -230,12 +231,11 @@ export function NewEpisodeSheet({
- setOnset(e.target.value)}
+ onChange={setOnset}
className="max-w-44"
/>
diff --git a/src/components/labs/ocr-row-editor.tsx b/src/components/labs/ocr-row-editor.tsx
index 640ff96bf..f3838308d 100644
--- a/src/components/labs/ocr-row-editor.tsx
+++ b/src/components/labs/ocr-row-editor.tsx
@@ -25,6 +25,7 @@ import {
import { Badge } from "@/components/ui/badge";
import { Checkbox } from "@/components/ui/checkbox";
+import { DateField } from "@/components/ui/date-field";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { useTranslations } from "@/lib/i18n/context";
@@ -178,13 +179,10 @@ export function OcrRowEditor({
-
- onChange({ ...row, takenAt: e.target.value || null })
- }
+ onChange={(value) => onChange({ ...row, takenAt: value || null })}
/>
diff --git a/src/components/measurement-reminders/vorsorge-section.tsx b/src/components/measurement-reminders/vorsorge-section.tsx
index b1a68df33..280702666 100644
--- a/src/components/measurement-reminders/vorsorge-section.tsx
+++ b/src/components/measurement-reminders/vorsorge-section.tsx
@@ -64,6 +64,7 @@ import {
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
+import { DateField } from "@/components/ui/date-field";
import { EmptyState } from "@/components/ui/empty-state";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
@@ -598,12 +599,11 @@ export function VorsorgeSection({
-
- setForm((f) => ({ ...f, anchorDate: e.target.value }))
+ onChange={(value) =>
+ setForm((f) => ({ ...f, anchorDate: value }))
}
/>
diff --git a/src/components/medications/scheduling/cadence-picker.tsx b/src/components/medications/scheduling/cadence-picker.tsx
index aac443d72..4a4271e0b 100644
--- a/src/components/medications/scheduling/cadence-picker.tsx
+++ b/src/components/medications/scheduling/cadence-picker.tsx
@@ -49,6 +49,7 @@
import { useCallback, useId, useMemo } from "react";
+import { DateField } from "@/components/ui/date-field";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { useTranslations } from "@/lib/i18n/context";
@@ -602,13 +603,11 @@ function YearlyDate({
- onChange(e.target.value)}
- className="h-11"
+ onChange={onChange}
data-slot="cadence-yearly-date"
/>
diff --git a/src/components/medications/scheduling/course-window-row.tsx b/src/components/medications/scheduling/course-window-row.tsx
index aaad105bd..4ec9f91c1 100644
--- a/src/components/medications/scheduling/course-window-row.tsx
+++ b/src/components/medications/scheduling/course-window-row.tsx
@@ -25,7 +25,7 @@
import { useCallback, useId, useMemo } from "react";
-import { Input } from "@/components/ui/input";
+import { DateField } from "@/components/ui/date-field";
import { Label } from "@/components/ui/label";
import { Switch } from "@/components/ui/switch";
import { useTranslations } from "@/lib/i18n/context";
@@ -135,15 +135,15 @@ export function CourseWindowRow({
- onStartsChange(e.target.value)}
- className="h-11 w-full"
+ onChange={onStartsChange}
+ className="w-full"
aria-label={t(`${i18nPrefix}.startsOn.label`)}
data-slot="course-window-starts"
+ data-testid="course-window-starts-field"
/>
@@ -152,17 +152,16 @@ export function CourseWindowRow({
- onEndsChange(e.target.value)}
- className="h-11 w-full"
+ onChange={onEndsChange}
+ className="w-full"
aria-label={t(`${i18nPrefix}.endsOn.label`)}
aria-invalid={!valid || undefined}
data-slot="course-window-ends"
+ data-testid="course-window-ends-field"
/>
{lockEndsToStart && (
{t("medications.detail.bestand.addExpiryLabel")}
- setExpiry(e.target.value)}
+ onChange={setExpiry}
/>
diff --git a/src/components/settings/account-section/index.tsx b/src/components/settings/account-section/index.tsx
index 57c68ce83..4fc5df757 100644
--- a/src/components/settings/account-section/index.tsx
+++ b/src/components/settings/account-section/index.tsx
@@ -13,7 +13,7 @@ import {
DialogTitle,
} from "@/components/ui/dialog";
import { Input } from "@/components/ui/input";
-import { DateInput } from "@/components/ui/date-input";
+import { DateField } from "@/components/ui/date-field";
import { Label } from "@/components/ui/label";
import { NativeSelect } from "@/components/ui/native-select";
import { PasswordInput } from "@/components/ui/password-input";
@@ -373,10 +373,10 @@ export function AccountSection() {
-
setDateOfBirth(e.target.value)}
+ onChange={setDateOfBirth}
max={new Date().toISOString().slice(0, 10)}
/>