use crate::config::manager::ConfigManager;
use crate::model::loader::Models;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Screen {
Welcome,
}
pub struct App {
pub models: Models,
pub config_mgr: ConfigManager,
pub should_quit: bool,
pub screen_stack: Vec<Screen>,
}
impl App {
pub fn new(models: Models, config_mgr: ConfigManager) -> Self {
Self {
models,
config_mgr,
should_quit: false,
screen_stack: vec![Screen::Welcome],
}
}
pub fn current_screen(&self) -> &Screen {
self.screen_stack.last().unwrap_or(&Screen::Welcome)
}
}