// Auto-generated wrapper components for About
// Calls existing UnifiedAboutPage from crates/pages/src/about/unified.rs

// Use qualified paths to avoid import conflicts between generated files
use leptos::prelude::*;

use super::unified::UnifiedAboutPage;

/// Client-side reactive page component (wrapper)
#[component]
pub fn AboutClient(
    #[prop(default = rustelo_core_lib::config::get_default_language().to_string())]
    _language: String,
) -> impl IntoView {
    // Use the existing use_page_i18n_dynamic function
    let page_content = crate::common::use_page_i18n_dynamic(vec!["about-"], || vec![]);

    // let lang_content = page_content.get_untracked();// Clone language for use in
    // closure
    let language = _language.clone();

    move || {
        view! {
            <UnifiedAboutPage
                _language=language.clone()
                lang_content=page_content.get()
            />
        }
    }
}

/// SSR static page component (wrapper)
#[component]
pub fn AboutSSR(
    #[prop(default = rustelo_core_lib::config::get_default_language().to_string())]
    _language: String,
) -> impl IntoView {
    // Create static translator for SSR
    let translator = rustelo_core_lib::i18n::page_translator::SsrTranslator::new(_language.clone());
    let patterns: Vec<&str> = vec!["about-"];
    let lang_content =
        rustelo_core_lib::i18n::helpers::build_page_content_patterns(&translator, &patterns);

    view! {
        <UnifiedAboutPage
            _language=_language.clone()
            lang_content=lang_content
        />
    }
}

/// Main page component with delegation
#[component]
pub fn AboutPage(
    #[prop(default = rustelo_core_lib::config::get_default_language().to_string())]
    _language: String,
) -> impl IntoView {
    #[cfg(not(target_arch = "wasm32"))]
    {
        view! { <AboutSSR _language=_language.clone() /> }
    }

    #[cfg(target_arch = "wasm32")]
    {
        view! { <AboutClient _language=_language.clone() /> }
    }
}
