From 3a45fcc3bde27e7c5efdd75346605490ed0aed4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sat, 18 Jul 2026 03:19:24 +0200 Subject: [PATCH] fix(ui): close remaining consistency-audit findings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sweeps the banned gap-5/space-y-5/pl-5 spacing residue the audit found scattered across coach pages, settings coach cards, the labs/records/ custom-metrics form family, onboarding, and a handful of one-off surfaces (glucose panel, clinician view, illness correlation card, invite-tokens, the mental-health check-in wizard including its stray sm:p-6 shell steps) down onto the 4/6 scale. Two medication chart colours (dose-strength-curve, drug-level-chart) painted raw --dracula-purple with no light-theme override; both now read --chart-1, the same alias the mood-chart fix already established. Raises ~40 sub-text-xs muted-prose sites below the UI-STANDARDS §3/§5 floor (settings API/MCP/sharing/coach-prefs cards, insights workout detail, suggested prompts, tab-strip group popovers, sources rail, metric-stat-strip, the health-score provisional pill) to text-xs, leaving genuine tabular-nums Badges untouched — the one exemption the standard carries. Routes the 10 hand-rolled settings/insights "no data yet" paragraphs (coach memory, coach reminders, security sessions/activity/keys, API tokens, sharing, insights pill order, per-metric overrides, nutrient intake) through the shared EmptyState primitive instead of a bare muted

, so they read the same, centered, icon-ready shape every other empty list in the app already uses. The notification-status card's empty copy stays on SettingsCardHeader's description slot — converting it would mean restructuring the card, not routing it. --- src/app/coach/conversations/page.tsx | 2 +- src/app/coach/plans/page.tsx | 2 +- src/app/onboarding/[step]/page.tsx | 2 +- .../admin/invite-tokens-section.tsx | 2 +- src/components/clinician/clinician-view.tsx | 2 +- .../custom-metric-entry-form.tsx | 2 +- .../custom-metrics/custom-metric-form.tsx | 2 +- .../custom-metric-history-list.tsx | 2 +- .../illness/illness-correlation-card.tsx | 2 +- .../insights/coach-panel/sources-rail.tsx | 4 +-- .../glucose/glucose-clinical-panel.tsx | 2 +- src/components/insights/health-score-card.tsx | 2 +- .../insights/insights-tab-strip.tsx | 2 +- src/components/insights/metric-stat-strip.tsx | 2 +- src/components/insights/suggested-prompts.tsx | 2 +- src/components/labs/biomarker-form.tsx | 2 +- src/components/labs/lab-form.tsx | 2 +- src/components/labs/lab-history-list.tsx | 2 +- .../medications/dose-strength-curve.tsx | 5 +++- .../medications/drug-level-chart.tsx | 5 +++- .../scheduling/schedule-history-timeline.tsx | 2 +- .../mental-health/check-in-wizard.tsx | 6 ++--- src/components/records/allergy-form.tsx | 2 +- .../records/family-history-form.tsx | 2 +- src/components/settings/about-me-section.tsx | 2 +- src/components/settings/api-section.tsx | 27 ++++++++++--------- .../settings/coach-memory-section.tsx | 13 ++++----- .../settings/coach-prefs-section.tsx | 14 +++++----- .../settings/coach-reminders-section.tsx | 13 ++++----- .../settings/dashboard-layout-section.tsx | 2 +- src/components/settings/export-section.tsx | 2 +- .../settings/insights-pill-order-section.tsx | 13 ++++----- src/components/settings/mcp-section.tsx | 12 ++++----- .../settings/nutrient-intake-card.tsx | 9 ++++--- .../settings/security-activity-card.tsx | 9 ++++--- .../security-section/security-keys-card.tsx | 9 ++++--- .../settings/security-sessions-card.tsx | 9 ++++--- .../settings/share-link-create-form.tsx | 24 ++++++++--------- src/components/settings/sharing-section.tsx | 18 ++++++------- src/components/settings/sources-section.tsx | 9 ++++--- 40 files changed, 135 insertions(+), 110 deletions(-) diff --git a/src/app/coach/conversations/page.tsx b/src/app/coach/conversations/page.tsx index 7001046ce..2201a3fcc 100644 --- a/src/app/coach/conversations/page.tsx +++ b/src/app/coach/conversations/page.tsx @@ -177,7 +177,7 @@ function CoachConversationsBody() {

diff --git a/src/app/coach/plans/page.tsx b/src/app/coach/plans/page.tsx index ed7bc5b5d..7549adc1e 100644 --- a/src/app/coach/plans/page.tsx +++ b/src/app/coach/plans/page.tsx @@ -230,7 +230,7 @@ function CoachPlansBody() {
diff --git a/src/app/onboarding/[step]/page.tsx b/src/app/onboarding/[step]/page.tsx index 9bcfb193f..393118a6f 100644 --- a/src/app/onboarding/[step]/page.tsx +++ b/src/app/onboarding/[step]/page.tsx @@ -99,7 +99,7 @@ export default async function OnboardingStepPage({ params }: PageProps) { {completed ? (

-
+
{t("admin.invites.ttlLegend")} diff --git a/src/components/clinician/clinician-view.tsx b/src/components/clinician/clinician-view.tsx index cfc6fc467..d6d583b1c 100644 --- a/src/components/clinician/clinician-view.tsx +++ b/src/components/clinician/clinician-view.tsx @@ -262,7 +262,7 @@ export function ClinicianView({

-
+
{/* ── Clinical vitals ─────────────────────────────────────── */} {measurementEntries.length > 0 ? (
diff --git a/src/components/custom-metrics/custom-metric-entry-form.tsx b/src/components/custom-metrics/custom-metric-entry-form.tsx index da9c661bf..d1d9bc623 100644 --- a/src/components/custom-metrics/custom-metric-entry-form.tsx +++ b/src/components/custom-metrics/custom-metric-entry-form.tsx @@ -131,7 +131,7 @@ export function CustomMetricEntryForm({ ); return ( -
+