mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
WorkoutDetailHeader held three columns at every width, wrapping the long-format date to 4-5 lines beside a text-2xl duration at 360px; stack below sm with duration moving under the title block. Same pass drops a stray text-[11px] muted hint below the size floor. The intraday pulse chart and the VO2/cardio-fitness link card carried a static p-4 shell with no md:p-6 step, and the intraday loading state was a raw pulse div instead of the Skeleton primitive under-reserving the chart height — both now match the card inset contract used elsewhere. Same one-line fix on the insights hero shell (sm-stepped inset instead of the standard md-stepped one) and the glucose advanced panel's 3-up grid at a 320px fold. The medication efficacy tab's retarget control failed saves silently — no toast, no inline alert, an unhandled rejection escaping past the disabled-button reset. Surface a toast on failure. Also swaps the level-shift date off a raw toISOString slice onto the locale formatter, and the primary-target tag off bare muted text onto the Badge component the rest of the app uses for this kind of marker. The caffeine card collapsed its 280px skeleton to nothing on every nutrients-page visit for an account with no logged caffeine; a 60s staleTime (already the convention on the sibling insights queries) keeps the flash to once per session. The efficacy chart's dynamic- import fallback was the full card-chrome ChartSkeleton nested inside its own Card, snapping ~100px when the real bare chart mounted — swap for a plain Skeleton sized to the actual chart.