From 471d31cee66281693c23293690449f4c430bf9bb Mon Sep 17 00:00:00 2001 From: renee-png Date: Sun, 19 Jul 2026 19:37:07 -0400 Subject: [PATCH] Fix dates not saving on Safari; show grade level under student name Safari's native gets reset by React's controlled value, so picked dates never reached state. Make date inputs uncontrolled (defaultValue + onChange) in the profile, academics, and public intake forms. Header now shows grade level instead of a single class. Co-Authored-By: Claude Opus 4.8 --- src/routes/_authenticated/students.$id.tsx | 7 ++++--- src/routes/intake.$token.tsx | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/routes/_authenticated/students.$id.tsx b/src/routes/_authenticated/students.$id.tsx index b60edda..e1b0ef7 100644 --- a/src/routes/_authenticated/students.$id.tsx +++ b/src/routes/_authenticated/students.$id.tsx @@ -81,7 +81,7 @@ function StudentDetail() {

{student?.first_name} {student?.last_name}

-

{(student?.classes as { name: string } | null)?.name ?? "No class"}

+

{student?.grade_level ? `Grade ${student.grade_level}` : "No grade level set"}

@@ -234,7 +234,8 @@ function ProfileTab({ studentId, canEdit, isAdmin }: { studentId: string; canEdi // ── Edit mode ── const T = (k: string, label: string) => upd(k, e.target.value)} />; - const D = (k: string, label: string) => upd(k, e.target.value)} />; + // Uncontrolled (defaultValue) so Safari's native date picker doesn't get reset by React's controlled value. + const D = (k: string, label: string) => upd(k, e.target.value)} />; const A = (k: string, label: string, rows = 2) =>