zilliz 1.3.2

TUI and CLI tool for managing Zilliz Cloud clusters and Milvus operations
Documentation
use crate::config::manager::ConfigManager;
use crate::model::loader::Models;

/// Which screen the TUI is currently showing.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Screen {
    Welcome,
}

/// Main application state.
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)
    }
}