From f2b3740fa0019e115f1c84c5823488ddd8ed1646 Mon Sep 17 00:00:00 2001 From: Jim Phillips <5315024+ergofobe@users.noreply.github.com> Date: Thu, 27 Aug 2026 14:55:28 -0400 Subject: [PATCH] Align TUI colors with imogen brand palette ACCENT was #E0A162, a hand-approximation of the web UI's "safelight" accent (#E39B5C). The tile/border color (#2A2D32) was likewise an approximation of the brand's line color (#262A2F). Both now match the canonical values from imogen-server exactly, and the border color is hoisted into a BORDER constant next to ACCENT/MUTED since it was duplicated across six call sites. Co-Authored-By: Claude with claude-sonnet-5 --- src/tui/ui.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/tui/ui.rs b/src/tui/ui.rs index 0db8877..0480c9c 100644 --- a/src/tui/ui.rs +++ b/src/tui/ui.rs @@ -15,8 +15,9 @@ use unicode_width::UnicodeWidthStr; use crate::output; use crate::tui::app::{App, Mode, Tile}; -const ACCENT: Color = Color::Rgb(0xE0, 0xA1, 0x62); +const ACCENT: Color = Color::Rgb(0xE3, 0x9B, 0x5C); const MUTED: Color = Color::Rgb(0x90, 0x96, 0xA0); +const BORDER: Color = Color::Rgb(0x26, 0x2A, 0x2F); /// Works out where everything goes, including the holes the photographs are placed into. /// Called before drawing so the placement pass and the draw pass agree. @@ -280,7 +281,7 @@ fn draw_grid(frame: &mut Frame, app: &App) { let border = if selected { Style::default().fg(ACCENT).add_modifier(Modifier::BOLD) } else { - Style::default().fg(Color::Rgb(0x2A, 0x2D, 0x32)) + Style::default().fg(BORDER) }; frame.render_widget( Block::default().borders(Borders::ALL).border_style(border), @@ -335,7 +336,7 @@ fn draw_viewer(frame: &mut Frame, app: &App, area: Rect) { frame.render_widget( Block::default() .borders(Borders::ALL) - .border_style(Style::default().fg(Color::Rgb(0x2A, 0x2D, 0x32))) + .border_style(Style::default().fg(BORDER)) .title(Span::styled(title, Style::default().fg(ACCENT))), area, ); @@ -402,7 +403,7 @@ fn draw_picker(frame: &mut Frame, app: &App) { .block( Block::default() .borders(Borders::ALL) - .border_style(Style::default().fg(Color::Rgb(0x2A, 0x2D, 0x32))) + .border_style(Style::default().fg(BORDER)) .title(Span::styled( format!(" {} ", output::truncate_left(&here, 46)), Style::default().fg(ACCENT), @@ -423,7 +424,7 @@ fn draw_picker(frame: &mut Frame, app: &App) { frame.render_widget( Block::default() .borders(Borders::ALL) - .border_style(Style::default().fg(Color::Rgb(0x2A, 0x2D, 0x32))), + .border_style(Style::default().fg(BORDER)), pane, ); @@ -506,7 +507,7 @@ fn draw_albums(frame: &mut Frame, app: &App, area: Rect) { .block( Block::default() .borders(Borders::ALL) - .border_style(Style::default().fg(Color::Rgb(0x2A, 0x2D, 0x32))) + .border_style(Style::default().fg(BORDER)) .title(Span::styled(" albums ", Style::default().fg(ACCENT))), ) .highlight_style(Style::default().fg(ACCENT).add_modifier(Modifier::BOLD)) @@ -564,7 +565,7 @@ fn draw_info(frame: &mut Frame, app: &App, area: Rect) { Paragraph::new(lines).wrap(Wrap { trim: true }).block( Block::default() .borders(Borders::LEFT) - .border_style(Style::default().fg(Color::Rgb(0x2A, 0x2D, 0x32))) + .border_style(Style::default().fg(BORDER)) .padding(ratatui::widgets::Padding::horizontal(1)), ), area,