From 9af9c844c9c481c2d8db21545d97f069552f40ec Mon Sep 17 00:00:00 2001 From: Joris Date: Fri, 7 Feb 2025 14:36:58 +0100 Subject: Adapt layout sizes Prevent negative usize errors to stop the program. --- src/gui/message.rs | 2 +- src/gui/question.rs | 10 +++++----- src/gui/util.rs | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/gui/message.rs b/src/gui/message.rs index 3273b31..0ae98a2 100644 --- a/src/gui/message.rs +++ b/src/gui/message.rs @@ -19,7 +19,7 @@ pub fn show( let chunks = Layout::default() .direction(Direction::Vertical) .margin(2) - .constraints([Constraint::Length(1), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(15), Constraint::Percentage(40)].as_ref()) .split(f.area()); let d1 = util::title(title); diff --git a/src/gui/question.rs b/src/gui/question.rs index 2a42e57..37ea43d 100644 --- a/src/gui/question.rs +++ b/src/gui/question.rs @@ -42,11 +42,11 @@ pub fn ask(terminal: &mut Terminal, title: &str, card: &Card) -> .margin(2) .constraints( [ - Constraint::Length(1), - Constraint::Percentage(30), - Constraint::Length(5), - Constraint::Percentage(30), - Constraint::Length(5), + Constraint::Percentage(15), + Constraint::Percentage(25), + Constraint::Percentage(15), + Constraint::Percentage(15), + Constraint::Percentage(15), ] .as_ref(), ) diff --git a/src/gui/util.rs b/src/gui/util.rs index c62c755..4503ed4 100644 --- a/src/gui/util.rs +++ b/src/gui/util.rs @@ -14,8 +14,8 @@ pub fn title(str: &str) -> Paragraph { pub fn center_vertically(chunk: Rect, text: &str) -> String { let text_lines = text.lines().count(); - let chunk_inner_lines: usize = (chunk.height - 2).into(); - let blank_lines = chunk_inner_lines - text_lines; + let chunk_inner_lines: usize = if chunk.height >= 2 { (chunk.height - 2).into() } else { 0 }; + let blank_lines = if chunk_inner_lines >= text_lines { chunk_inner_lines - text_lines } else { 0 }; let newlines = "\n".repeat(blank_lines / 2); format!("{newlines}{text}") } -- cgit v1.2.3