use dioxus::prelude::*;
#[component]
pub fn ReplyBar(
sender_name: Option<String>,
body: Option<String>,
on_cancel: EventHandler<()>,
) -> Element {
let sender = sender_name.unwrap_or_else(|| "someone".to_string());
let preview = body.unwrap_or_else(|| "...".to_string());
let preview_short = if preview.len() > 120 {
format!("{}...", &preview[..117])
} else {
preview
};
rsx! {
div {
class: "reply-bar",
div {
class: "reply-bar__indicator",
}
div {
class: "reply-bar__content",
span { class: "reply-bar__sender", "{sender}" }
span { class: "reply-bar__body", "{preview_short}" }
}
button {
class: "reply-bar__cancel",
title: "Cancel reply",
onclick: move |_| on_cancel.call(()),
"✕"
}
}
}
}