use ratatui::layout::Constraint;
pub fn constraint_apply(constraint: Constraint, length: u16) -> u16 {
match constraint {
Constraint::Percentage(p) => {
let p = f32::from(p) / 100.0;
let length = f32::from(length);
(p * length).min(length) as u16
}
Constraint::Ratio(numerator, denominator) => {
let percentage = numerator as f32 / denominator.max(1) as f32;
let length = f32::from(length);
(percentage * length).min(length) as u16
}
Constraint::Length(l) | Constraint::Fill(l) => length.min(l),
Constraint::Max(m) => length.min(m),
Constraint::Min(m) => length.max(m),
}
}