Fixing color schemes
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crate::theme::confirm;
|
||||
use crate::theme;
|
||||
use ratatui::layout::{Alignment, Constraint, Layout, Rect};
|
||||
use ratatui::style::Style;
|
||||
use ratatui::text::{Line, Span};
|
||||
@@ -23,10 +23,11 @@ impl<'a> ConfirmModal<'a> {
|
||||
}
|
||||
|
||||
pub fn render_centered(self, frame: &mut Frame, term: Rect) {
|
||||
let t = theme::get();
|
||||
let inner = ModalFrame::new(self.title)
|
||||
.width(30)
|
||||
.height(5)
|
||||
.border_color(confirm::BORDER)
|
||||
.border_color(t.confirm.border)
|
||||
.render_centered(frame, term);
|
||||
|
||||
let rows = Layout::vertical([Constraint::Length(1), Constraint::Length(1)]).split(inner);
|
||||
@@ -37,12 +38,12 @@ impl<'a> ConfirmModal<'a> {
|
||||
);
|
||||
|
||||
let yes_style = if self.selected {
|
||||
Style::new().fg(confirm::BUTTON_SELECTED_FG).bg(confirm::BUTTON_SELECTED_BG)
|
||||
Style::new().fg(t.confirm.button_selected_fg).bg(t.confirm.button_selected_bg)
|
||||
} else {
|
||||
Style::default()
|
||||
};
|
||||
let no_style = if !self.selected {
|
||||
Style::new().fg(confirm::BUTTON_SELECTED_FG).bg(confirm::BUTTON_SELECTED_BG)
|
||||
Style::new().fg(t.confirm.button_selected_fg).bg(t.confirm.button_selected_bg)
|
||||
} else {
|
||||
Style::default()
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::theme::editor_widget;
|
||||
use crate::theme;
|
||||
use ratatui::{
|
||||
layout::Rect,
|
||||
style::{Modifier, Style},
|
||||
@@ -333,9 +333,10 @@ impl Editor {
|
||||
}
|
||||
|
||||
pub fn render(&self, frame: &mut Frame, area: Rect, highlighter: Highlighter) {
|
||||
let t = theme::get();
|
||||
let (cursor_row, cursor_col) = self.text.cursor();
|
||||
let cursor_style = Style::default().bg(editor_widget::CURSOR_BG).fg(editor_widget::CURSOR_FG);
|
||||
let selection_style = Style::default().bg(editor_widget::SELECTION_BG);
|
||||
let cursor_style = Style::default().bg(t.editor_widget.cursor_bg).fg(t.editor_widget.cursor_fg);
|
||||
let selection_style = Style::default().bg(t.editor_widget.selection_bg);
|
||||
|
||||
let selection = self.text.selection_range();
|
||||
|
||||
@@ -383,6 +384,7 @@ impl Editor {
|
||||
}
|
||||
|
||||
fn render_completion(&self, frame: &mut Frame, editor_area: Rect, cursor_row: usize) {
|
||||
let t = theme::get();
|
||||
let max_visible: usize = 6;
|
||||
let list_width: u16 = 18;
|
||||
let doc_width: u16 = 40;
|
||||
@@ -413,9 +415,9 @@ impl Editor {
|
||||
let list_area = Rect::new(popup_x, popup_y, list_width, total_height);
|
||||
frame.render_widget(Clear, list_area);
|
||||
|
||||
let highlight_style = Style::default().fg(editor_widget::COMPLETION_SELECTED).add_modifier(Modifier::BOLD);
|
||||
let normal_style = Style::default().fg(editor_widget::COMPLETION_FG);
|
||||
let bg_style = Style::default().bg(editor_widget::COMPLETION_BG);
|
||||
let highlight_style = Style::default().fg(t.editor_widget.completion_selected).add_modifier(Modifier::BOLD);
|
||||
let normal_style = Style::default().fg(t.editor_widget.completion_fg);
|
||||
let bg_style = Style::default().bg(t.editor_widget.completion_bg);
|
||||
|
||||
let list_lines: Vec<Line> = (scroll_offset..scroll_offset + visible_count)
|
||||
.map(|i| {
|
||||
@@ -428,7 +430,7 @@ impl Editor {
|
||||
};
|
||||
let prefix = if i == self.completion.cursor { "> " } else { " " };
|
||||
let display = format!("{prefix}{name:<width$}", width = list_width as usize - 2);
|
||||
Line::from(Span::styled(display, style.bg(editor_widget::COMPLETION_BG)))
|
||||
Line::from(Span::styled(display, style.bg(t.editor_widget.completion_bg)))
|
||||
})
|
||||
.collect();
|
||||
|
||||
@@ -451,15 +453,15 @@ impl Editor {
|
||||
let candidate = &self.completion.candidates[selected_idx];
|
||||
|
||||
let name_style = Style::default()
|
||||
.fg(editor_widget::COMPLETION_SELECTED)
|
||||
.fg(t.editor_widget.completion_selected)
|
||||
.add_modifier(Modifier::BOLD)
|
||||
.bg(editor_widget::COMPLETION_BG);
|
||||
.bg(t.editor_widget.completion_bg);
|
||||
let desc_style = Style::default()
|
||||
.fg(editor_widget::COMPLETION_FG)
|
||||
.bg(editor_widget::COMPLETION_BG);
|
||||
.fg(t.editor_widget.completion_fg)
|
||||
.bg(t.editor_widget.completion_bg);
|
||||
let example_style = Style::default()
|
||||
.fg(editor_widget::COMPLETION_EXAMPLE)
|
||||
.bg(editor_widget::COMPLETION_BG);
|
||||
.fg(t.editor_widget.completion_example)
|
||||
.bg(t.editor_widget.completion_bg);
|
||||
|
||||
let w = doc_width as usize;
|
||||
let mut doc_lines: Vec<Line> = Vec::new();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::theme::ui;
|
||||
use crate::theme;
|
||||
use ratatui::layout::Rect;
|
||||
use ratatui::style::{Color, Style};
|
||||
use ratatui::widgets::{Block, Borders, Clear, Paragraph};
|
||||
@@ -8,7 +8,7 @@ pub struct ModalFrame<'a> {
|
||||
title: &'a str,
|
||||
width: u16,
|
||||
height: u16,
|
||||
border_color: Color,
|
||||
border_color: Option<Color>,
|
||||
}
|
||||
|
||||
impl<'a> ModalFrame<'a> {
|
||||
@@ -17,7 +17,7 @@ impl<'a> ModalFrame<'a> {
|
||||
title,
|
||||
width: 40,
|
||||
height: 5,
|
||||
border_color: ui::TEXT_PRIMARY,
|
||||
border_color: None,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,11 +32,12 @@ impl<'a> ModalFrame<'a> {
|
||||
}
|
||||
|
||||
pub fn border_color(mut self, c: Color) -> Self {
|
||||
self.border_color = c;
|
||||
self.border_color = Some(c);
|
||||
self
|
||||
}
|
||||
|
||||
pub fn render_centered(&self, frame: &mut Frame, term: Rect) -> Rect {
|
||||
let t = theme::get();
|
||||
let width = self.width.min(term.width.saturating_sub(4));
|
||||
let height = self.height.min(term.height.saturating_sub(4));
|
||||
|
||||
@@ -51,15 +52,16 @@ impl<'a> ModalFrame<'a> {
|
||||
for row in 0..area.height {
|
||||
let line_area = Rect::new(area.x, area.y + row, area.width, 1);
|
||||
frame.render_widget(
|
||||
Paragraph::new(bg_fill.clone()).style(Style::new().bg(ui::BG)),
|
||||
Paragraph::new(bg_fill.clone()).style(Style::new().bg(t.ui.bg)),
|
||||
line_area,
|
||||
);
|
||||
}
|
||||
|
||||
let border_color = self.border_color.unwrap_or(t.ui.text_primary);
|
||||
let block = Block::default()
|
||||
.borders(Borders::ALL)
|
||||
.title(self.title)
|
||||
.border_style(Style::new().fg(self.border_color));
|
||||
.border_style(Style::new().fg(border_color));
|
||||
|
||||
let inner = block.inner(area);
|
||||
frame.render_widget(block, area);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::theme::{nav, ui};
|
||||
use crate::theme;
|
||||
use ratatui::layout::{Alignment, Rect};
|
||||
use ratatui::style::Style;
|
||||
use ratatui::widgets::{Clear, Paragraph};
|
||||
@@ -50,11 +50,12 @@ impl<'a> NavMinimap<'a> {
|
||||
frame.render_widget(Clear, area);
|
||||
|
||||
// Fill background with theme color
|
||||
let t = theme::get();
|
||||
let bg_fill = " ".repeat(area.width as usize);
|
||||
for row in 0..area.height {
|
||||
let line_area = Rect::new(area.x, area.y + row, area.width, 1);
|
||||
frame.render_widget(
|
||||
Paragraph::new(bg_fill.clone()).style(Style::new().bg(ui::BG)),
|
||||
Paragraph::new(bg_fill.clone()).style(Style::new().bg(t.ui.bg)),
|
||||
line_area,
|
||||
);
|
||||
}
|
||||
@@ -72,10 +73,11 @@ impl<'a> NavMinimap<'a> {
|
||||
}
|
||||
|
||||
fn render_tile(&self, frame: &mut Frame, area: Rect, label: &str, is_selected: bool) {
|
||||
let t = theme::get();
|
||||
let (bg, fg) = if is_selected {
|
||||
(nav::SELECTED_BG, nav::SELECTED_FG)
|
||||
(t.nav.selected_bg, t.nav.selected_fg)
|
||||
} else {
|
||||
(nav::UNSELECTED_BG, nav::UNSELECTED_FG)
|
||||
(t.nav.unselected_bg, t.nav.unselected_fg)
|
||||
};
|
||||
|
||||
// Fill background
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user