From be82f8638ae9d3a804e8a09e5f8365f87e48a459 Mon Sep 17 00:00:00 2001 From: Daniel Heras Quesada Date: Sat, 8 Aug 2026 00:15:08 +0200 Subject: [PATCH] style: basic colors added as variables --- src/modules/ui/app.rs | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/modules/ui/app.rs b/src/modules/ui/app.rs index 2b00f69..46d2ccd 100644 --- a/src/modules/ui/app.rs +++ b/src/modules/ui/app.rs @@ -79,6 +79,12 @@ impl App { } fn draw(&mut self, frame: &mut Frame) { + // PERF: this should not be declared on every frame + let color_bg_main = Color::default(); + let color_fg_main = Color::default(); + let color_fg_highlight = Color::Yellow; + let color_fg_delete = Color::LightRed; + let main_layout = Layout::default() .direction(Direction::Vertical) .spacing(0) @@ -110,6 +116,7 @@ impl App { Paragraph::new(word_filter.clone()).block( Block::new() .title(self.format_ui_block_title("Word", UiState::FILTERWORD)) + .style(Style::default().fg(color_fg_main).bg(color_bg_main)) .borders(Borders::ALL), ), filters_layout[0], @@ -126,6 +133,7 @@ impl App { Paragraph::new(lang_filter).block( Block::new() .title(self.format_ui_block_title("Lang", UiState::FILTERLANG)) + .style(Style::default().fg(color_fg_main).bg(color_bg_main)) .borders(Borders::ALL), ), filters_layout[1], @@ -167,6 +175,7 @@ impl App { Paragraph::new(word_to_add.key).block( Block::new() .title(self.format_add_block_title("Word", AddState::KEY)) + .style(Style::default().fg(color_fg_main).bg(color_bg_main)) .borders(Borders::ALL), ), add_words_heading_layout[0], @@ -175,6 +184,7 @@ impl App { Paragraph::new(word_to_add.lang).block( Block::new() .title(self.format_add_block_title("Lang", AddState::LANG)) + .style(Style::default().fg(color_fg_main).bg(color_bg_main)) .borders(Borders::ALL), ), add_words_heading_layout[1], @@ -188,7 +198,8 @@ impl App { self.format_add_block_title("Description", AddState::DESCRIPTION), ) .borders(Borders::ALL), - ), + ) + .style(Style::default().fg(color_fg_main).bg(color_bg_main)), main_layout[1], ); } else { @@ -228,11 +239,12 @@ impl App { Block::default() .title(self.format_ui_block_title("Entries", UiState::LIST)) .borders(Borders::ALL) + .style(Style::default().fg(color_fg_main).bg(color_bg_main)) .padding(Padding::horizontal(1)), ) .highlight_style(Style::default().fg(highligh_color)) .highlight_symbol(highligh_symbol) - .style(Style::default().fg(Color::DarkGray)); + .style(Style::default().fg(color_fg_main).bg(color_bg_main)); frame.render_stateful_widget(word_key_list, words_layout[0], &mut self.list_state); if let Some(w) = selected_word.clone() { @@ -240,7 +252,8 @@ impl App { Paragraph::new(w.description) .wrap(Wrap { trim: true }) .scroll((self.description_scroll, 0)) - .block(Block::new().borders(Borders::ALL)), + .block(Block::new().borders(Borders::ALL)) + .style(Style::default().fg(color_fg_main).bg(color_bg_main)), words_layout[1], ); } @@ -258,10 +271,13 @@ impl App { && let Some(s_w) = selected_word.clone() { Text::raw(format!("Sure you want to delete '{0}'? (y)es", s_w.key)) - .style(Style::new().fg(Color::LightRed)) + .style(Style::default().fg(color_fg_delete).bg(color_bg_main)) + } else if self.state == UiState::ADD { + Text::raw("Adding item (enter) to confirm (esc) to exit") + .style(Style::default().fg(color_fg_main).bg(color_bg_main)) } else { - Text::raw("(f)ilter | (l)ang | (d)elete | (e)dit | (a)dd | (q)uit ") - .style(Style::new().fg(Color::DarkGray)) + Text::raw("(f)ilter | (l)ang | (d)elete | (e)dit | (a)dd | (q)uit") + .style(Style::default().fg(color_fg_main).bg(color_bg_main)) } };