diff --git a/src/app/mod.rs b/src/app/mod.rs index 697bbd0..3985ace 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -102,4 +102,12 @@ impl<'a> App<'a> { pub fn toggle_popup(&mut self) { self.show_popup = !self.show_popup; } + + pub fn close_popup(&mut self) { + self.show_popup = false; + } + + pub fn open_popup(&mut self) { + self.show_popup = true; + } } diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 2c5e6ab..f54aa5b 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -56,7 +56,7 @@ pub fn render(app: &mut App, frame: &mut Frame) { if app.show_popup { let block = Block::default().title("Popup").borders(Borders::ALL); - let size = render_popup(60, 20, size); + let size = render_popup(size); frame.render_widget(Clear, size); frame.render_widget(block, size); } diff --git a/src/ui/popup.rs b/src/ui/popup.rs index 2be27a0..386bf67 100644 --- a/src/ui/popup.rs +++ b/src/ui/popup.rs @@ -1,21 +1,17 @@ use ratatui::layout::{Constraint, Direction, Layout, Rect}; -pub fn render_popup(percent_x: u16, percent_y: u16, r: Rect) -> Rect { +pub fn render_popup(r: Rect) -> Rect { + let percent_y = 20; let popup_layput = Layout::default() .direction(Direction::Vertical) .constraints([ - Constraint::Percentage((100 - percent_y) / 2), + Constraint::Percentage(100 - percent_y), Constraint::Percentage(percent_y), - Constraint::Percentage((100 - percent_y) / 2), ]) .split(r); Layout::default() .direction(Direction::Horizontal) - .constraints([ - Constraint::Percentage((100 - percent_y) / 2), - Constraint::Percentage(percent_y), - Constraint::Percentage((100 - percent_y) / 2), - ]) + .constraints([Constraint::Percentage(0), Constraint::Percentage(100)]) .split(popup_layput[1])[1] }