fix: align pane bottoms and wrap navigation help

This commit is contained in:
Valdemar Lorenzen
2026-10-19 13:52:26 +02:00
parent 0ffcef494f
commit b15460d5f8
5 changed files with 20 additions and 13 deletions
+6 -4
View File
@@ -34,8 +34,12 @@ pub fn run(terminal: &mut DefaultTerminal, initial: Option<Database>) -> Result<
expanded,
);
terminal.draw(|frame| {
let navigation = Paragraph::new(
" Tab focus · Esc explorer · ↑↓/jk move · Enter open · s schema/rows · ←→/hl columns · n/p page · r refresh · c add database · q quit"
).wrap(Wrap { trim: true }).style(Style::default().fg(Color::DarkGray));
let help_height = navigation.line_count(frame.area().width) as u16;
let [main, help] =
Layout::vertical([Constraint::Min(1), Constraint::Length(2)]).areas(frame.area());
Layout::vertical([Constraint::Min(1), Constraint::Length(help_height)]).areas(frame.area());
let [sidebar, content] = Layout::horizontal([Constraint::Length(32), Constraint::Min(1)])
.areas(main);
let items = entries.iter().map(|entry| {
@@ -64,9 +68,7 @@ pub fn run(terminal: &mut DefaultTerminal, initial: Option<Database>) -> Result<
if let Some(error) = &error {
frame.render_widget(Paragraph::new(error.as_str()).style(Style::default().fg(Color::Red)), Rect::new(content.x, content.bottom().saturating_sub(1), content.width, 1));
}
frame.render_widget(Paragraph::new(
" Tab focus · Esc explorer · ↑↓/jk move · Enter open · s schema/rows\n ←→/hl columns · n/p page · r refresh · c add database · q quit"
).style(Style::default().fg(Color::DarkGray)), help);
frame.render_widget(navigation, help);
if show_form {
form.draw(frame);
}