aboutsummaryrefslogtreecommitdiff
path: root/src/ui.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-04-02 22:49:03 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-04-02 23:25:05 +0300
commit1eb7dac77e7b62ece76c43d75a349580f936b2c6 (patch)
treefb12b872ef6c23acc98292ef9077eb8206aa0c89 /src/ui.rs
parent0165c333ddf0707ed4455f48048feb50bd6500ba (diff)
add close action button to keybind help
Diffstat (limited to 'src/ui.rs')
-rw-r--r--src/ui.rs32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/ui.rs b/src/ui.rs
index 20f37b5a..c48d1e7c 100644
--- a/src/ui.rs
+++ b/src/ui.rs
@@ -1624,6 +1624,18 @@ fn keybind_help_groups(app: &AppState) -> Vec<(&'static str, Vec<(String, &'stat
groups
}
+pub(crate) fn keybind_help_close_button_rect(area: Rect) -> Rect {
+ action_button_row_rects(
+ area,
+ &[ActionButtonSpec {
+ hint: Some("esc"),
+ label: "close",
+ }],
+ 0,
+ 0,
+ )[0]
+}
+
fn render_keybind_help_overlay(app: &AppState, frame: &mut Frame) {
let rect = app.keybind_help_rect();
let Some(inner) = render_panel_shell(frame, rect, app.palette.accent, app.palette.panel_bg)
@@ -1644,14 +1656,20 @@ fn render_keybind_help_overlay(app: &AppState, frame: &mut Frame) {
.fg(app.palette.mauve)
.add_modifier(Modifier::BOLD);
let label_style = Style::default().fg(app.palette.text);
- let hint_style = Style::default().fg(app.palette.overlay0);
-
+ let header = Rect::new(inner.x, inner.y, inner.width, 1);
frame.render_widget(
- Paragraph::new(Line::from(vec![
- Span::styled(" keybinds", title_style),
- Span::styled(" esc to close", hint_style),
- ])),
- Rect::new(inner.x, inner.y, inner.width, 1),
+ Paragraph::new(Line::from(vec![Span::styled(" keybinds", title_style)])),
+ header,
+ );
+ render_action_button(
+ frame,
+ keybind_help_close_button_rect(header),
+ Some("esc"),
+ "close",
+ Style::default()
+ .fg(app.palette.text)
+ .bg(app.palette.surface0)
+ .add_modifier(Modifier::BOLD),
);
let groups = keybind_help_groups(app);