diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-20 22:03:49 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-20 22:08:26 +0300 |
| commit | df357b250c0fcf4edf2681d4f114e199afb51899 (patch) | |
| tree | eba744d9238057e8758e2098670e0561d920d998 /src/ui | |
| parent | c584037c77c63f6a08f8837f357c89432b8043e7 (diff) | |
fix: clarify keybinding conflict warnings
refs #154
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/keybind_help.rs | 3 | ||||
| -rw-r--r-- | src/ui/menus.rs | 6 | ||||
| -rw-r--r-- | src/ui/status.rs | 41 |
3 files changed, 26 insertions, 24 deletions
diff --git a/src/ui/keybind_help.rs b/src/ui/keybind_help.rs index fe3d7582..fb79077e 100644 --- a/src/ui/keybind_help.rs +++ b/src/ui/keybind_help.rs @@ -56,8 +56,7 @@ pub(super) fn keybind_help_groups( ), (keybind_label(&kb.help), "keybinds"), (keybind_label(&kb.settings), "settings"), - (keybind_label(&kb.quit), "quit"), - (keybind_label(&kb.detach), "detach from server"), + (keybind_label(&kb.detach), "detach"), (keybind_label(&kb.reload_config), "reload config"), ( keybind_label(&kb.open_notification_target), diff --git a/src/ui/menus.rs b/src/ui/menus.rs index aa5e3b79..c83b569f 100644 --- a/src/ui/menus.rs +++ b/src/ui/menus.rs @@ -76,7 +76,7 @@ pub(super) fn render_navigate_overlay(app: &AppState, frame: &mut Frame, area: R let resize = prefix_rhs_label(&kb.resize_mode); let help = prefix_rhs_label(&kb.help); let settings = prefix_rhs_label(&kb.settings); - let quit = prefix_rhs_label(&kb.quit); + let detach = prefix_rhs_label(&kb.detach); let line = Line::from(vec![ Span::styled(" NAVIGATE ", mode_style), Span::raw(" "), @@ -102,8 +102,8 @@ pub(super) fn render_navigate_overlay(app: &AppState, frame: &mut Frame, area: R Span::styled(" keybinds ", dim), Span::styled(settings, key), Span::styled(" settings ", dim), - Span::styled(quit, key), - Span::styled(" quit", dim), + Span::styled(detach, key), + Span::styled(" detach", dim), ]); let overlay_y = area.y + area.height.saturating_sub(1); diff --git a/src/ui/status.rs b/src/ui/status.rs index bb506da6..28f5d17b 100644 --- a/src/ui/status.rs +++ b/src/ui/status.rs @@ -75,26 +75,29 @@ pub(super) fn render_toast_notification( } pub(super) fn render_config_diagnostic(frame: &mut Frame, area: Rect, message: &str, p: &Palette) { - let text = format!(" config warning: {message} "); - let width = text.len() as u16 + 2; - let notif_area = Rect::new( - area.x + area.width.saturating_sub(width.min(area.width)), - area.y, - width.min(area.width), - 1, - ); + let style = Style::default() + .fg(panel_contrast_fg(p)) + .bg(p.yellow) + .add_modifier(Modifier::BOLD); - frame.render_widget(Clear, notif_area); - frame.render_widget( - Paragraph::new(Span::styled( - text, - Style::default() - .fg(panel_contrast_fg(p)) - .bg(p.yellow) - .add_modifier(Modifier::BOLD), - )), - notif_area, - ); + for (row, line) in message + .lines() + .filter(|line| !line.trim().is_empty()) + .take(area.height as usize) + .enumerate() + { + let text = format!(" config warning: {line} "); + let width = (text.len() as u16).min(area.width); + let notif_area = Rect::new( + area.x + area.width.saturating_sub(width), + area.y + row as u16, + width, + 1, + ); + + frame.render_widget(Clear, notif_area); + frame.render_widget(Paragraph::new(Span::styled(text, style)), notif_area); + } } pub(super) fn state_dot(state: AgentState, seen: bool, p: &Palette) -> (&'static str, Style) { |
