use hydroxy_leptos::status_diamond::{Jewel, StatusDiamond};
use leptos::prelude::*;
#[component]
pub fn Demo() -> impl IntoView {
// The four lifecycle stages always use these jewels, in this order.
let stages = [
(Some(Jewel::Garnet), "Waiting"),
(Some(Jewel::Citrine), "In review"),
(Some(Jewel::Emerald), "Ready"),
(Some(Jewel::Sapphire), "Shared"),
(None, "Not started"),
];
view! {
<ul style="list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4);">
{stages
.into_iter()
.map(|(jewel, name)| {
view! {
<li style="display: flex; align-items: center; gap: 10px; font: var(--text-sm);">
<StatusDiamond jewel=jewel />
{name}
</li>
}
})
.collect_view()}
<li style="display: flex; align-items: center; gap: 10px; font: var(--text-sm);">
<StatusDiamond jewel=Jewel::Amethyst hollow=true size=11 title="Draft" />
"Hollow, with an accessible name"
</li>
</ul>
}
}
use dioxus::prelude::*;
use hydroxy_dioxus::status_diamond::{Jewel, StatusDiamond};
#[component]
pub fn StatusDiamondDemo() -> Element {
let stages = [
(Some(Jewel::Garnet), "Waiting"),
(Some(Jewel::Citrine), "In review"),
(Some(Jewel::Emerald), "Ready"),
(Some(Jewel::Sapphire), "Shared"),
(None, "Not started"),
];
rsx! {
ul { style: "list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4);",
for (jewel, name) in stages {
li { style: "display: flex; align-items: center; gap: 10px; font: var(--text-sm);",
StatusDiamond { jewel }
"{name}"
}
}
li { style: "display: flex; align-items: center; gap: 10px; font: var(--text-sm);",
StatusDiamond { jewel: Jewel::Amethyst, hollow: true, size: 11, title: "Draft" }
"Hollow, with an accessible name"
}
}
}
}