use ratatui::layout::{Constraint, Flex, Layout, Rect};
pub(crate) fn centered_rect(width: u16, height: u16, area: Rect) -> Rect {
let vertical = Layout::vertical([Constraint::Length(height)])
.flex(Flex::Center)
.split(area);
Layout::horizontal([Constraint::Length(width)])
.flex(Flex::Center)
.split(vertical[0])[0]
}
pub(crate) fn centered_pct(w_pct: u16, h_pct: u16, area: Rect) -> Rect {
let w = (area.width * w_pct / 100).max(10);
let h = (area.height * h_pct / 100).max(5);
let vertical = Layout::vertical([Constraint::Length(h)])
.flex(Flex::Center)
.split(area);
Layout::horizontal([Constraint::Length(w)])
.flex(Flex::Center)
.split(vertical[0])[0]
}
pub(crate) fn percent_rect(width_pct: u16, height_pct: u16, area: Rect) -> Rect {
let width = (area.width * width_pct / 100).max(20);
let height = (area.height * height_pct / 100).max(4);
let vertical = Layout::vertical([Constraint::Length(height)])
.flex(Flex::Center)
.split(area);
Layout::horizontal([Constraint::Length(width)])
.flex(Flex::Center)
.split(vertical[0])[0]
}