Skip to main content

git_worktree_manager/tui/
style.rs

1//! Shared color palette for ratatui-based views.
2//!
3//! Mirrors `src/console.rs::status_style` so the TUI and static renderers
4//! produce visually identical output.
5
6use ratatui::style::{Color, Modifier, Style};
7
8pub fn status_style(status: &str) -> Style {
9    match status {
10        "clean" => Style::default().fg(Color::Green),
11        "modified" => Style::default().fg(Color::Yellow),
12        "busy" => Style::default().fg(Color::Red).add_modifier(Modifier::BOLD),
13        "active" => Style::default()
14            .fg(Color::Green)
15            .add_modifier(Modifier::BOLD),
16        "pr-open" => Style::default().fg(Color::Cyan),
17        "merged" => Style::default().fg(Color::Magenta),
18        "stale" => Style::default().fg(Color::DarkGray),
19        _ => Style::default().add_modifier(Modifier::DIM),
20    }
21}
22
23pub fn placeholder_style() -> Style {
24    Style::default().add_modifier(Modifier::DIM)
25}
26
27pub fn header_style() -> Style {
28    Style::default()
29        .fg(Color::Cyan)
30        .add_modifier(Modifier::BOLD)
31}