Skip to content

Commit 100bdc8

Browse files
committed
feat(web-ui): sync theme from native app to web UI
Move shared theme definitions (38 themes, ThemeKind, ThemePalette) from arbor-gui into arbor-core so both the GUI and httpd can use them. Add GET /api/v1/config/theme endpoint that reads the theme slug from ~/.config/arbor/config.toml and returns the full palette as hex strings. The web UI fetches the theme on startup and polls every 5 seconds, applying all palette colors as CSS custom properties. The xterm.js terminal theme is also updated with proper ANSI color mappings for both light and dark themes, including contrast-safe values for light backgrounds.
1 parent d00455d commit 100bdc8

12 files changed

Lines changed: 1288 additions & 888 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ It gives you one place to manage repositories, issue-driven worktrees, embedded
8282
- Three-pane layout across `arbor-gui` and `arbor-web-ui`
8383
- Command palette coverage for actions, repos, worktrees, issues, presets, and task templates
8484
- Resizable panes, collapsible sidebar, desktop notifications
85-
- More than twenty-five themes, including Omarchy defaults and white VS Code inspired themes
85+
- 38 themes shared between the desktop app and web UI, with live sync when switching themes
8686
- Branch-aware window titles and daemon / rate-limit status polish
8787
- TOML config at `~/.config/arbor/config.toml` with hot reload
8888

crates/arbor-core/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub mod remote;
1111
pub mod repo_config;
1212
pub mod session;
1313
pub mod task;
14+
pub mod theme;
1415
pub mod worktree;
1516
pub mod worktree_name;
1617
pub mod worktree_scripts;

0 commit comments

Comments
 (0)