Skip to main content

chess_tui/
config.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4pub struct Config {
5    pub engine_path: Option<String>,
6    pub display_mode: Option<String>,
7    pub log_level: Option<String>,
8    pub bot_depth: Option<u8>,
9    /// Bot difficulty preset: None = Off, Some(0..=3) = Easy/Medium/Hard/Magnus.
10    pub bot_difficulty: Option<u8>,
11    pub selected_skin_name: Option<String>,
12    pub lichess_token: Option<String>,
13    pub sound_enabled: Option<bool>,
14}
15
16impl Default for Config {
17    fn default() -> Self {
18        Self {
19            engine_path: None,
20            display_mode: Some("DEFAULT".to_string()),
21            log_level: Some("OFF".to_string()),
22            bot_depth: Some(10),
23            bot_difficulty: None,
24            selected_skin_name: Some("Default".to_string()),
25            lichess_token: None,
26            sound_enabled: Some(true),
27        }
28    }
29}