From 4846dcb478d214f87521c8d0b457aae80e9ba2a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sun, 5 Jul 2026 15:03:01 +0200 Subject: [PATCH] fix(ui): remove sub-AA opacity dimming from informational text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The muted-foreground token is AA-tuned in both themes; the /70 and /80 opacity modifiers silently undid that (2.9-4.2:1 measured). Every informational text node drops the modifier for the full token: sleep hypnogram captions, learning-gate caveat, integration-card setup hints, module lock notes, glucose panel and token-footer meta, invite-token hint, wizard hint, notification channel labels and disabled notes (the disabled state reads through the note and the disabled switches, not through dimming), plus the resting state of the timestamp, suggestion chip and sidebar-collapse controls. User-authored mood notes move to foreground text-sm — user data is never muted. Decorative non-text strokes (sparkline grid, calendar dot, titration connector) keep their opacity; icons keep the /60 graphics floor. --- src/app/notifications/page.tsx | 19 +++++++------------ .../admin/invite-tokens-section.tsx | 2 +- src/components/illness/illness-view.tsx | 4 +--- .../coach-panel/guided-questions-card.tsx | 2 +- .../insights/coach-panel/message-thread.tsx | 2 +- .../coach-panel/message-token-footer.tsx | 2 +- .../glucose/glucose-clinical-panel.tsx | 2 +- src/components/insights/sleep-hypnogram.tsx | 4 ++-- src/components/layout/sidebar-nav.tsx | 2 +- .../wizard/medication-wizard-dialog.tsx | 2 +- src/components/mood/mood-list.tsx | 7 +++++-- .../settings/integrations/fitbit-card.tsx | 2 +- .../integrations/google-health-card.tsx | 2 +- .../settings/integrations/nightscout-card.tsx | 4 ++-- .../integrations/oauth-provider-card.tsx | 4 ++-- .../integrations/setup-guide-link.tsx | 2 +- .../settings/integrations/whoop-card.tsx | 2 +- .../settings/integrations/withings-card.tsx | 2 +- src/components/settings/module-toggle-row.tsx | 4 ++-- src/components/ui/learning-gate.tsx | 2 +- 20 files changed, 34 insertions(+), 38 deletions(-) diff --git a/src/app/notifications/page.tsx b/src/app/notifications/page.tsx index 6100eea70..4078419e7 100644 --- a/src/app/notifications/page.tsx +++ b/src/app/notifications/page.tsx @@ -205,17 +205,12 @@ export default function NotificationsPage() { key={ch.id} className="px-4 py-3 text-center text-xs font-medium tracking-wider uppercase" > - - {ch.label} - + {/* Disabled state reads through the note + the disabled + switches below — never through sub-AA opacity dimming + on the label or the note itself. */} + {ch.label} {!ch.enabled && ( - + {t("notifications.channelDisabled")} )} @@ -296,11 +291,11 @@ export default function NotificationsPage() { >