fix(theme): complete Color::Reset migration across all UI widgets (#601)

Follow-up to #601 — Gemini review identified the fix as incomplete.
Replaces ALL hardcoded Color::Black backgrounds with Color::Reset across
10 UI files: sidebar, session_picker, model_picker, provider_picker,
command_palette, pager, plan_prompt, user_input, deepseek_theme, ui.

Implemented using `deepseek exec --model deepseek-v4-flash`. 🐋
This commit is contained in:
macworkers
2026-05-04 15:58:30 -07:00
parent 3cff070570
commit 3395d003fa
10 changed files with 8 additions and 18 deletions
+1 -1
View File
@@ -62,7 +62,7 @@ impl Theme {
section_borders: Borders::ALL,
section_border_type: BorderType::Plain,
section_border_color: palette::BORDER_COLOR,
section_bg: palette::DEEPSEEK_INK,
section_bg: Color::Reset,
section_title_color: palette::DEEPSEEK_BLUE,
// Horizontal padding only. `Padding::uniform(1)` ate two rows of
// each sidebar panel — for compact terminals where Plan/Todos/Tasks
-1
View File
@@ -352,7 +352,6 @@ fn modal_block() -> Block<'static> {
Block::default()
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK))
.padding(Padding::uniform(1))
}
+2 -2
View File
@@ -188,7 +188,7 @@ impl ModelPickerView {
)))
.borders(Borders::ALL)
.border_style(border_style)
.style(Style::default().bg(palette::DEEPSEEK_INK));
.style(Style::default());
let inner = block.inner(area);
block.render(area, buf);
@@ -288,7 +288,7 @@ impl ModalView for ModelPickerView {
]))
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK));
.style(Style::default());
let inner = outer.inner(popup_area);
outer.render(popup_area, buf);
-1
View File
@@ -425,7 +425,6 @@ impl ModalView for PagerView {
.title_bottom(footer)
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK))
.padding(Padding::uniform(1));
let paragraph = Paragraph::new(visible_lines)
-2
View File
@@ -32,7 +32,6 @@ fn modal_block() -> Block<'static> {
)]))
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK))
.padding(Padding::uniform(1))
}
@@ -48,7 +47,6 @@ fn render_modal_chrome(area: Rect, popup_area: Rect, buf: &mut Buffer) {
if shadow_width > 0 && shadow_height > 0 {
Block::default()
.style(Style::default().bg(palette::DEEPSEEK_NAVY))
.render(
Rect {
x: shadow_x,
+2 -2
View File
@@ -113,7 +113,7 @@ impl ProviderPickerView {
]))
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK));
.style(Style::default());
let inner = outer.inner(area);
outer.render(area, buf);
@@ -175,7 +175,7 @@ impl ProviderPickerView {
]))
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK));
.style(Style::default());
let inner = outer.inner(area);
outer.render(area, buf);
-1
View File
@@ -28,7 +28,6 @@ fn modal_block(title: &str) -> Block<'static> {
)]))
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK))
.padding(Padding::uniform(1))
}
-2
View File
@@ -31,7 +31,6 @@ pub fn render_sidebar(f: &mut Frame, area: Rect, app: &App) {
// Paint a styled block over the area so stale cells from a previous
// (wider) frame don't persist as bleed-through artifacts (#400).
Block::default()
.style(Style::default().bg(palette::DEEPSEEK_INK))
.render(area, f.buffer_mut());
return;
}
@@ -742,7 +741,6 @@ fn render_sidebar_section(f: &mut Frame, area: Rect, title: &str, lines: Vec<Lin
if area.width < 4 || area.height < 3 {
// Clear stale cells before bailing out (#400).
Block::default()
.style(Style::default().bg(palette::DEEPSEEK_INK))
.render(area, f.buffer_mut());
return;
}
+3 -4
View File
@@ -21,7 +21,7 @@ use ratatui::{
backend::CrosstermBackend,
layout::{Constraint, Direction, Layout, Rect},
prelude::Widget,
style::Style,
style::{Color, Style},
text::Span,
widgets::Block,
};
@@ -4502,8 +4502,8 @@ fn build_pending_input_preview(app: &App) -> PendingInputPreview {
fn render(f: &mut Frame, app: &mut App) {
let size = f.area();
// Clear entire area with background color
let background = Block::default().style(Style::default().bg(app.ui_theme.header_bg));
// Clear entire area with terminal default background
let background = Block::default().style(Style::default().bg(Color::Reset));
f.render_widget(background, size);
// Show onboarding screen if needed
@@ -4605,7 +4605,6 @@ fn render(f: &mut Frame, app: &mut App) {
// uncovered by layout splits (e.g. after file-tree toggle or
// resize) don't retain stale content from a previous frame.
Block::default()
.style(Style::default().bg(palette::DEEPSEEK_INK))
.render(chunks[1], f.buffer_mut());
let mut sidebar_area = None;
-2
View File
@@ -19,7 +19,6 @@ fn modal_block(title: &str) -> Block<'static> {
)]))
.borders(Borders::ALL)
.border_style(Style::default().fg(palette::BORDER_COLOR))
.style(Style::default().bg(palette::DEEPSEEK_INK))
.padding(Padding::uniform(1))
}
@@ -35,7 +34,6 @@ fn render_modal_chrome(area: Rect, popup_area: Rect, buf: &mut Buffer) {
if shadow_width > 0 && shadow_height > 0 {
Block::default()
.style(Style::default().bg(palette::DEEPSEEK_NAVY))
.render(
Rect {
x: shadow_x,