diff options
Diffstat (limited to 'src/config.rs')
| -rw-r--r-- | src/config.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 0000000..f78d58f --- /dev/null +++ b/src/config.rs @@ -0,0 +1,43 @@ +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, +} |
