Co-authored-by: Sharang Parnerkar <parnerkarsharang@gmail.com> Reviewed-on: #6
24 lines
774 B
Rust
24 lines
774 B
Rust
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} }
|
|
}
|
|
}
|
|
}
|
|
}
|