feat: add theme setting (Light/Dark/System) with dark mode — closes #125 #126
No reviewers
Labels
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: sneak/AutistMask#126
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/issue-125-dark-mode"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds a theme setting with Light/Dark/System options and a complete dark mode theme.
Changes
src/popup/theme.js— New module that applies the dark class to<html>based on preference. System mode listens forprefers-color-schemechanges.src/popup/styles/main.css— Dark mode CSS variable overrides underhtml.darkselector (inverted monochrome palette).src/shared/state.js— Addedthemefield (default:"system") to persisted state.src/popup/index.js— Applies theme on popup open after loading state.src/popup/index.html— Theme dropdown (System/Light/Dark) in Display settings section.src/popup/views/settings.js— Theme selector change handler.Design
Closes #125
We need a solution for dark text (such as the big balance display) in dark mode (it's invisible on black bg) and for wells. perhaps a very dark grey for wells, enough to visually distinguish them?
88a0d5bc55tobe06bd8f0cRework complete
Fixed dark mode visibility issues:
--color-wellin dark mode from#0a0a0ato#111111— now visually distinct against#000000backgroundtext-fgclass to the big balance element (#total-value) to ensure white text in dark modetext-fgandbg-bg, selects/inputs all use CSS variables, no hardcoded dark colors found in HTML or JS viewsDocker build passes cleanly.
The hover states for wallets, tokens, and transactions in lists are insufficiently contrasty with the background. Same goes for the section headers that contain the wallet names or "recent transactions" title on the main layout. please audit all colors defined for sufficient contrast ratios in dark mode. also the ethereum price well on main is too dark, also lacks sufficient contrast.
Dark mode contrast improvements (round 3)
Audited all dark mode CSS variables for contrast against
#000000background:--color-hover#111111#222222--color-well#111111#1a1a1a--color-section#222222#2a2a2a--color-danger-well#1a0000#2a0a0a--color-border-light#333333#444444--color-muted#999999#aaaaaaAll background variations now have sufficient contrast differentiation from
#000000. Docker build passes.