use std::collections::HashMap;

/// Theme configuration
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ThemeConfig {
    /// Theme identifier
    pub id: String,
    /// Theme display name
    pub name: String,
    /// Theme description
    pub description: Option<String>,
    /// Primary color
    pub primary_color: String,
    /// Secondary color
    pub secondary_color: String,
    /// Additional CSS variables
    pub css_variables: HashMap<String, String>,
    /// Whether theme is dark mode
    pub is_dark: bool,
}

impl Default for ThemeConfig {
    fn default() -> Self {
        Self {
            id: "default".to_string(),
            name: "Default Theme".to_string(),
            description: Some("Default Rustelo theme".to_string()),
            primary_color: "#007acc".to_string(),
            secondary_color: "#6c757d".to_string(),
            css_variables: HashMap::new(),
            is_dark: false,
        }
    }
}
