use crate::state::AppState;
use crossterm::event::MouseEvent;
mod preflight;
mod preflight_helpers;
mod preflight_tabs;
mod simple;
pub(super) fn handle_modal_mouse(
m: MouseEvent,
mx: u16,
my: u16,
is_left_down: bool,
app: &mut AppState,
) -> Option<bool> {
match &mut app.modal {
crate::state::Modal::Help => Some(simple::handle_help_modal(m, mx, my, is_left_down, app)),
crate::state::Modal::VirusTotalSetup { .. } => Some(simple::handle_virustotal_modal(
m,
mx,
my,
is_left_down,
app,
)),
crate::state::Modal::Preflight { .. } => {
preflight::handle_preflight_modal(m, mx, my, is_left_down, app)
}
crate::state::Modal::Announcement { .. } => {
simple::handle_announcement_modal(m, mx, my, is_left_down, app)
}
crate::state::Modal::News { .. } => simple::handle_news_modal(m, mx, my, is_left_down, app),
crate::state::Modal::Updates { .. } => {
simple::handle_updates_modal(m, mx, my, is_left_down, app)
}
crate::state::Modal::SystemUpdate { .. } => {
simple::handle_system_update_modal(m, mx, my, is_left_down, app)
}
crate::state::Modal::Repositories { .. } => {
simple::handle_repositories_modal(m, mx, my, is_left_down, app)
}
crate::state::Modal::OptionalDeps { .. } => {
simple::handle_optional_deps_modal(m, mx, my, is_left_down, app)
}
crate::state::Modal::SshAurSetup { .. } => {
simple::handle_ssh_aur_setup_modal(m, mx, my, is_left_down, app)
}
_ => None,
}
}