use serde::{Deserialize, Serialize}; use crate::ui::ribbon::RibbonConfig; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AppConfig { pub success: bool, pub preferences: Preferences, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Preferences { pub common: CommonPreferences, #[serde(rename = "bbc-json-pie")] pub bbc_json_pie: BbcJsonPie, pub web: WebPreferences, pub mobile: MobilePreferences, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct CommonPreferences { pub language: String, pub timezone: String, pub date_format: String, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct BbcJsonPie { pub table_definitions: serde_json::Value, pub ribbon: RibbonConfig, pub views: serde_json::Value, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct WebPreferences { pub sidebar_collapsed: bool, pub items_per_page: i32, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct MobilePreferences { pub scan_mode: String, }