Skip to content

design: dark mode audit — ensure all components respect dark mode CSS tokens #673

Description

@magic-peach

Several UI components have hard-coded colour values (Tailwind bg-white, text-gray-*, border-gray-*) that do not switch correctly in dark mode. This results in invisible text, incorrect backgrounds, and poor contrast in dark mode.

What to fix

Audit every component in src/components/ and replace any hard-coded colour utilities with the CSS variable tokens:

Replace With
bg-white bg-[var(--surface)]
text-gray-900, text-black text-[var(--text)]
text-gray-500, text-gray-400 text-[var(--muted)]
border-gray-200, border-gray-300 border-[var(--border)]
bg-gray-50, bg-gray-100 bg-[var(--bg)]

Files to audit

All files in src/components/ and src/app/

Acceptance criteria

  • Toggle dark mode — all text, backgrounds, and borders look correct
  • No component has hard-coded text-white / text-black / bg-white that conflicts with dark mode
  • Contrast ratios meet WCAG AA (4.5:1 for normal text, 3:1 for large text) in both modes
  • bun run lint and bunx tsc --noEmit still pass

Screen Recording Required

Your PR for this issue must include a screen recording showing the feature working on your local machine (bun run devhttp://localhost:3000). PRs without a recording will not be merged.

See CONTRIBUTING.md for how to record.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions