1use ratatui::style::Color;
5
6#[derive(Debug, Clone, Copy)]
7pub struct GraphTheme {
8 pub bg: Color,
10 pub fg: Color,
11 pub dim: Color,
12 pub ok: Color,
14 pub failed: Color,
15 pub running: Color,
16 pub queued: Color,
17 pub panel: Color,
19}
20
21impl GraphTheme {
22 pub(crate) fn status(&self, status: crate::model::NodeStatus) -> Color {
24 use crate::model::NodeStatus;
25 match status {
26 NodeStatus::Ok => self.ok,
27 NodeStatus::Failed => self.failed,
28 NodeStatus::Running => self.running,
29 NodeStatus::Queued | NodeStatus::Skipped => self.queued,
30 NodeStatus::Neutral => self.fg,
31 }
32 }
33}