use dioxus::prelude::*;

/// Reusable page header with title, subtitle, and an optional action slot.
///
/// # Arguments
///
/// * `title` - Main heading text for the page
/// * `subtitle` - Secondary descriptive text below the title
/// * `actions` - Optional element rendered on the right side (e.g. buttons)
#[component]
pub fn PageHeader(title: String, subtitle: String, actions: Option<Element>) -> Element {
    rsx! {
        div { class: "page-header",
            div { class: "page-header-text",
                h1 { class: "page-title", "{title}" }
                p { class: "page-subtitle", "{subtitle}" }
            }
            if let Some(actions) = actions {
                div { class: "page-header-actions", {actions} }
            }
        }
    }
}
