use dioxus::prelude::*;
#[component]
pub fn MentionAutocomplete(
query: String,
members: Vec<MentionSuggestion>,
on_select: EventHandler<String>,
) -> Element {
if members.is_empty() {
return rsx! {};
}
rsx! {
div {
class: "mention-autocomplete",
for member in members.iter() {
{
let user_id = member.user_id.clone();
let display = member.display_name.clone();
let uid_display = member.user_id.clone();
rsx! {
button {
class: "mention-autocomplete__item",
onclick: move |_| on_select.call(user_id.clone()),
span {
class: "mention-autocomplete__name",
"{display}"
}
span {
class: "mention-autocomplete__id",
"{uid_display}"
}
}
}
}
}
}
}
}
#[derive(Clone, Debug, PartialEq)]
pub struct MentionSuggestion {
pub user_id: String,
pub display_name: String,
pub avatar_url: Option<String>,
}