aboutsummaryrefslogtreecommitdiff
path: root/src/tui/colors.rs
diff options
context:
space:
mode:
authorlukeflo2024-11-29 10:46:13 +0100
committerlukeflo2024-11-29 10:46:13 +0100
commitc4d82e66bdd253cf97fd0a04c251b29e82edc92b (patch)
treec9e678182460a4bc7b98452ddcf7373063ac76f0 /src/tui/colors.rs
parent93fc2222b008bc7dd8eaafcafa341c6aed440d6e (diff)
downloadbibiman-c4d82e66bdd253cf97fd0a04c251b29e82edc92b.tar.gz
bibiman-c4d82e66bdd253cf97fd0a04c251b29e82edc92b.zip
implemented light color scheme
Diffstat (limited to 'src/tui/colors.rs')
-rw-r--r--src/tui/colors.rs45
1 files changed, 41 insertions, 4 deletions
diff --git a/src/tui/colors.rs b/src/tui/colors.rs
index 206ac92..3ea6e86 100644
--- a/src/tui/colors.rs
+++ b/src/tui/colors.rs
@@ -16,6 +16,12 @@
/////
#[derive(Debug, Clone)]
+pub enum AppColorScheme {
+ Light,
+ Dark,
+}
+
+#[derive(Debug, Clone)]
pub struct AppColors {
pub main_text_color: u8,
pub highlight_text_color: u8,
@@ -24,6 +30,10 @@ pub struct AppColors {
pub info_color: u8,
pub confirm_color: u8,
pub warn_color: u8,
+ pub bar_bg_color: u8,
+ pub popup_bg_color: u8,
+ pub selected_row_bg_color: u8,
+ pub color_scheme: AppColorScheme,
}
impl Default for AppColors {
@@ -36,14 +46,18 @@ impl Default for AppColors {
info_color: 99,
confirm_color: 47,
warn_color: 124,
+ bar_bg_color: 235,
+ popup_bg_color: 234,
+ selected_row_bg_color: 237,
+ color_scheme: AppColorScheme::Dark,
}
}
}
impl AppColors {
- pub fn new() -> Self {
- Self::default()
- }
+ // pub fn new() -> Self {
+ // Self::default()
+ // }
pub fn main_text_color(&mut self, index: u8) {
self.main_text_color = index
@@ -73,12 +87,35 @@ impl AppColors {
self.warn_color = index
}
+ pub fn bar_bg_color(&mut self, index: u8) {
+ self.bar_bg_color = index
+ }
+
+ pub fn popup_bg_color(&mut self, index: u8) {
+ self.popup_bg_color = index
+ }
+
+ pub fn selected_row_bg_color(&mut self, index: u8) {
+ self.selected_row_bg_color = index
+ }
+
+ pub fn toggle_color_scheme(&mut self) {
+ match self.color_scheme {
+ AppColorScheme::Light => self.color_scheme = AppColorScheme::Dark,
+ AppColorScheme::Dark => self.color_scheme = AppColorScheme::Light,
+ }
+ }
+
/// Activates the default color scheme for light background terminals
pub fn light_colors(&mut self) {
self.main_text_color(235);
self.highlight_text_color(232);
self.entry_color(23);
self.keyword_color(58);
- self.info_color(57)
+ self.info_color(57);
+ self.bar_bg_color(144);
+ self.popup_bg_color(187);
+ self.confirm_color(22);
+ self.selected_row_bg_color(107)
}
}