maps 1.10.1

Inspect, compare and align multiple grid maps in an intuitive & fast GUI
Documentation
use eframe::egui;

use crate::app::AppState;
use crate::app_impl::constants::SPACE;

impl AppState {
    pub(crate) fn quit_modal(&mut self, ui: &mut egui::Ui) {
        if !self.status.quit_modal_active || self.data.maps.is_empty() {
            return;
        }

        egui::Modal::new(egui::Id::new("Confirm Exit")).show(ui.ctx(), |ui| {
            ui.vertical_centered(|ui| {
                ui.label(egui::RichText::new("").size(50.));
                ui.label("There seem to be unsaved changes. Are you sure you want to quit?");
            });
            ui.add_space(SPACE);
            ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| {
                if ui.button("🚫 Cancel").clicked() {
                    self.status.quit_modal_active = false;
                } else if ui.button("💣 Quit").clicked() {
                    ui.ctx().send_viewport_cmd(egui::ViewportCommand::Close);
                    self.status.quit_modal_active = false;
                    self.status.unsaved_changes = false;
                }
                ui.separator();
                self.save_session_button(ui, true);
            });
        });
    }
}