mermaid_cli/tui/state/
ui.rs1use crate::tui::theme::Theme;
6use crate::tui::widgets::{ChatState, InputState};
7
8pub struct UIState {
10 pub chat_state: ChatState,
12 pub input_state: InputState,
14 pub theme: Theme,
16 pub selected_message: Option<usize>,
18}
19
20impl UIState {
21 pub fn new() -> Self {
23 Self {
24 chat_state: ChatState::default(),
25 input_state: InputState::default(),
26 theme: Theme::dark(),
27 selected_message: None,
28 }
29 }
30}
31
32impl Default for UIState {
33 fn default() -> Self {
34 Self::new()
35 }
36}