Skip to content

Add dark / light mode toggle #93

@Miracle656

Description

@Miracle656

Background

Veil currently uses a fixed dark theme. Users who prefer light mode get no choice. Adding a dark/light toggle improves accessibility and makes the wallet feel more polished for mainnet launch.

What to build

Add a theme toggle to the wallet settings page that switches between dark (current) and light themes. Persist the preference in localStorage.

Key files

  • frontend/wallet/app/globals.css — define light theme CSS variables under [data-theme="light"]
  • frontend/wallet/app/settings/page.tsx — add toggle UI here

Suggested execution

git checkout -b feature/dark-light-mode-toggle
  1. In globals.css, add a [data-theme="light"] block overriding --near-black, --off-white, card backgrounds, etc.
  2. On mount, read localStorage.getItem("veil_theme") and apply document.documentElement.setAttribute("data-theme", ...)
  3. Add a toggle to settings/page.tsx — use the existing SVG icon style (no emojis)
  4. Persist changes with localStorage.setItem("veil_theme", value)
  5. Ensure the gold, teal, and navy accent colours remain legible in both modes

Example commit message:
feat(wallet): add dark/light mode toggle with localStorage persistence

Acceptance criteria

  • Toggle visible in settings page
  • Theme persists across page reloads and lock/unlock cycles
  • All pages render legibly in both modes
  • No emojis — SVG icons only, consistent with existing UI

Drips Wave · Complexity: Medium · 150 points
Comment below to request assignment. PR must include Closes #[this issue].

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions