use ratatui::layout::{Alignment, Constraint, Direction, Layout, Rect};
use ratatui::text::Text;
use ratatui::widgets::Paragraph;
use ratatui::Frame;
use crate::state::popup::confirm::{ConfirmKind, ConfirmSelected, ConfirmState};
use crate::util::get_block;
pub fn render_confirm_popup(state: &mut ConfirmState, frame: &mut Frame, rect: Rect) {
let rows = Layout::default()
.direction(Direction::Vertical)
.constraints([
Constraint::Length(3),
Constraint::Length(3),
])
.margin(1)
.horizontal_margin(3)
.split(rect);
let row1 = Layout::default()
.direction(Direction::Horizontal)
.constraints([Constraint::Percentage(100)])
.split(rows[0]);
let row2 = Layout::default()
.direction(Direction::Horizontal)
.constraints([
Constraint::Percentage(50),
Constraint::Percentage(50),
])
.split(rows[1]);
let text = match state.kind {
ConfirmKind::Quit => "Are you sure you want to quit?",
ConfirmKind::Delete => "Are you sure you want to delete this vCard?",
};
frame.render_widget(Paragraph::new(Text::raw(text)), row1[0]);
frame.render_widget(
Paragraph::new(Text::raw("Cancel"))
.block(get_block(state.selected.is(ConfirmSelected::Cancel), ""))
.alignment(Alignment::Center),
row2[0],
);
frame.render_widget(
Paragraph::new(Text::raw("Confirm"))
.block(get_block(state.selected.is(ConfirmSelected::Confirm), ""))
.alignment(Alignment::Center),
row2[1],
);
}