Description
Oxide currently uses a single dark theme. Many users prefer a light theme, and having a toggle is a standard browser feature. This is listed in the roadmap under Phase 9 (Platform Maturity).
What to implement
- Add a theme toggle button to the browser toolbar (top bar in
ui.rs), e.g. a sun/moon icon or a simple "Theme" button
- Store the preference using eframe's persistence or the existing sled store so it survives restarts
- Apply the theme using egui's built-in
Visuals::dark() and Visuals::light() via ctx.set_visuals()
Implementation hints
egui makes this straightforward:
if dark_mode {
ctx.set_visuals(egui::Visuals::dark());
} else {
ctx.set_visuals(egui::Visuals::light());
}
The toggle state can be stored in the OxideBrowser struct and persisted with eframe::Storage.
Files involved
oxide-browser/src/ui.rs — add toggle button and apply visuals
Difficulty
Beginner — egui has built-in dark/light theme support. Mostly UI wiring.
Description
Oxide currently uses a single dark theme. Many users prefer a light theme, and having a toggle is a standard browser feature. This is listed in the roadmap under Phase 9 (Platform Maturity).
What to implement
ui.rs), e.g. a sun/moon icon or a simple "Theme" buttonVisuals::dark()andVisuals::light()viactx.set_visuals()Implementation hints
egui makes this straightforward:
The toggle state can be stored in the
OxideBrowserstruct and persisted witheframe::Storage.Files involved
oxide-browser/src/ui.rs— add toggle button and apply visualsDifficulty
Beginner — egui has built-in dark/light theme support. Mostly UI wiring.