Skip to main content

void_audit_tui/
color.rs

1//! Color theming for the audit TUI.
2//!
3//! Adapted from void-graph TUI.
4
5use ratatui::style::Color as RatatuiColor;
6use smart_default::SmartDefault;
7
8/// Color theme for the TUI.
9#[derive(Debug, Clone, PartialEq, Eq, SmartDefault)]
10pub struct ColorTheme {
11    #[default(RatatuiColor::Reset)]
12    pub fg: RatatuiColor,
13    #[default(RatatuiColor::Reset)]
14    pub bg: RatatuiColor,
15
16    // List colors
17    #[default(RatatuiColor::White)]
18    pub list_selected_fg: RatatuiColor,
19    #[default(RatatuiColor::DarkGray)]
20    pub list_selected_bg: RatatuiColor,
21    #[default(RatatuiColor::Yellow)]
22    pub list_cid_fg: RatatuiColor,
23    #[default(RatatuiColor::Cyan)]
24    pub list_type_commit_fg: RatatuiColor,
25    #[default(RatatuiColor::Green)]
26    pub list_type_metadata_fg: RatatuiColor,
27    #[default(RatatuiColor::Magenta)]
28    pub list_type_shard_fg: RatatuiColor,
29    #[default(RatatuiColor::Red)]
30    pub list_type_unknown_fg: RatatuiColor,
31    #[default(RatatuiColor::Blue)]
32    pub list_format_known_fg: RatatuiColor,
33    #[default(RatatuiColor::DarkGray)]
34    pub list_format_unknown_fg: RatatuiColor,
35
36    // Detail colors
37    #[default(RatatuiColor::Cyan)]
38    pub detail_label_fg: RatatuiColor,
39    #[default(RatatuiColor::Reset)]
40    pub detail_value_fg: RatatuiColor,
41    #[default(RatatuiColor::Yellow)]
42    pub detail_cid_fg: RatatuiColor,
43    #[default(RatatuiColor::Green)]
44    pub detail_size_fg: RatatuiColor,
45    #[default(RatatuiColor::Magenta)]
46    pub detail_date_fg: RatatuiColor,
47
48    // Help colors
49    #[default(RatatuiColor::Green)]
50    pub help_block_title_fg: RatatuiColor,
51    #[default(RatatuiColor::Yellow)]
52    pub help_key_fg: RatatuiColor,
53
54    // Status colors
55    #[default(RatatuiColor::Cyan)]
56    pub status_info_fg: RatatuiColor,
57    #[default(RatatuiColor::Yellow)]
58    pub status_warn_fg: RatatuiColor,
59    #[default(RatatuiColor::Red)]
60    pub status_error_fg: RatatuiColor,
61}