Skip to content

feat: Settings — dark/light theme toggle #13

@chojuninengu

Description

@chojuninengu

Summary

Add a dark/light theme toggle to the Settings tab. Tailwind dark mode is
already configured in tailwind.config.js — this is primarily a frontend task.

Why

Accessibility and user preference. Some users work in bright environments
where a dark UI causes eye strain. This also makes Sysora feel like a
fully polished, production-quality product.

Scope

Frontend

  • Add theme: 'dark' | 'light' | 'system' to the settings store
  • Apply dark class to <html> element based on preference
  • system option follows the OS preference via window.matchMedia
  • Add theme selector to Settings tab (three buttons: Dark / Light / System)
  • Persist preference via existing settings save mechanism
  • Define light mode color tokens in index.css:
    • Background: #F8F8F7 / #FFFFFF
    • Text: #1C1B19
    • Cards: #FFFFFF with #E5E3DC border
    • Brand accent stays: #534AB7

Tailwind

  • Audit all components for hardcoded dark colors
    (e.g. bg-surface-800, text-white/40) and replace with
    light-mode equivalents under dark: variants
  • Stat cards, process table, sidebar, tray popup all need light variants

Acceptance criteria

  • Three options: Dark, Light, System (follows OS)
  • Theme switches instantly without restart
  • Preference persists across app restarts
  • All tabs render correctly in both themes
  • System option updates automatically if OS theme changes

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions