//! Basic type definitions and core framework types

use std::collections::HashMap;

use serde::{Deserialize, Serialize};

// Re-use LanguageCode from routing
use crate::routing::LanguageCode;

/// Site information
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct SiteInfo {
    /// Site title
    pub title: String,
    /// Site description
    pub description: String,
    /// Site URL
    pub url: String,
    /// Site author
    pub author: String,
    /// Site language
    pub language: LanguageCode,
    /// Additional metadata
    pub metadata: HashMap<String, String>,
}
