dioxus_mdx/components/
update.rs1use dioxus::prelude::*;
4
5use crate::components::DocNodeRenderer;
6use crate::parser::UpdateNode;
7
8#[derive(Props, Clone, PartialEq)]
10pub struct DocUpdateProps {
11 pub update: UpdateNode,
13}
14
15#[component]
17pub fn DocUpdate(props: DocUpdateProps) -> Element {
18 let update = &props.update;
19
20 rsx! {
21 div { class: "grid grid-cols-[120px_1fr] gap-x-8 py-8 border-b border-base-content/10 last:border-b-0 max-sm:grid-cols-1 max-sm:gap-y-3",
22 div { class: "flex flex-col items-start gap-1.5",
24 span { class: "badge badge-primary font-mono",
25 "{update.label}"
26 }
27 if !update.description.is_empty() {
28 span { class: "text-xs text-base-content/50",
29 "{update.description}"
30 }
31 }
32 }
33 div {
35 class: "prose prose-sm max-w-none",
36 for (i, node) in update.content.iter().enumerate() {
37 DocNodeRenderer { key: "{i}", node: node.clone() }
38 }
39 }
40 }
41 }
42}