From 02b447a98e3cd9a1cd4c14eed3a6c67c5ad98eb4 Mon Sep 17 00:00:00 2001 From: itsjunetime Date: Tue, 17 Jun 2025 09:25:52 -0600 Subject: [PATCH] clean up top and bottom rendering --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- src/tui.rs | 29 +++++++++++------------------ 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dd0f51e..5abd66c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -997,9 +997,9 @@ dependencies = [ [[package]] name = "flexi_logger" -version = "0.30.2" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb03342077df16d5b1400d7bed00156882846d7a479ff61a6f10594bcc3423d8" +checksum = "ab9765cc4ba26211f932a7a37649ec88752f7abcbd8822617572562ce31234df" dependencies = [ "chrono", "log", diff --git a/Cargo.toml b/Cargo.toml index 7b24149..eccc2a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,7 +46,7 @@ memmap2 = "*" # logging log = "0.4.27" -flexi_logger = "0.30.2" +flexi_logger = "0.31" # for tracing with tokio-console console-subscriber = { version = "0.4.0", optional = true } diff --git a/src/tui.rs b/src/tui.rs index 8bef541..692e108 100644 --- a/src/tui.rs +++ b/src/tui.rs @@ -428,31 +428,24 @@ impl Tui { frame: &mut Frame<'_>, bottom_msg: &BottomMessage ) { + // use the extra space here to add some padding to the right side + let page_nums_text = format!("{} / {} ", page_num + 1, rendered.len()); + let top_block = Block::new() + // use this first title to add a bit of padding to the left side + .title_top(" ") + .title_top(Span::styled(doc_name, Style::new().fg(Color::Cyan))) + .title_top( + Span::styled(&page_nums_text, Style::new().fg(Color::Cyan)) + .into_right_aligned_line() + ) .padding(Padding { - right: 2, - left: 2, + bottom: 1, ..Padding::default() }) .borders(Borders::BOTTOM); - let top_area = top_block.inner(top_area); - - let page_nums_text = format!("{} / {}", page_num + 1, rendered.len()); - - let top_layout = Layout::horizontal([ - Constraint::Fill(1), - Constraint::Length(page_nums_text.len() as u16) - ]) - .split(top_area); - - let title = Span::styled(doc_name, Style::new().fg(Color::Cyan)); - - let page_nums = Span::styled(&page_nums_text, Style::new().fg(Color::Cyan)); - frame.render_widget(top_block, top_area); - frame.render_widget(title, top_layout[0]); - frame.render_widget(page_nums, top_layout[1]); let bottom_block = Block::new() .padding(Padding {