use std::collections::HashMap;

use leptos::prelude::*;
use serde::{Deserialize, Serialize};

// Re-export HealthStatus for use in charts
pub use crate::types::HealthStatus;

/// Chart configuration
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ChartConfig {
    pub chart_type: String,
    pub title: String,
    pub subtitle: Option<String>,
    pub legend_enabled: bool,
    pub responsive: bool,
}

/// Chart data
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct ChartData {
    pub labels: Vec<String>,
    pub datasets: Vec<DataSet>,
}

/// Dataset for charts
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct DataSet {
    pub label: String,
    pub data: Vec<f64>,
    pub color: Option<String>,
}

#[component]
pub fn Placeholder() -> impl IntoView {
    view! { <div>"Placeholder"</div> }
}
