synpad 0.1.0

A full-featured Matrix chat client built with Dioxus
use dioxus::prelude::*;

/// Dropdown menu component.
#[component]
pub fn Dropdown(
    children: Element,
    #[props(default = false)] open: bool,
    on_toggle: EventHandler<()>,
    trigger: Element,
) -> Element {
    rsx! {
        div {
            class: "dropdown",
            div {
                class: "dropdown__trigger",
                onclick: move |_| on_toggle.call(()),
                {trigger}
            }
            if open {
                div {
                    class: "dropdown__menu",
                    {children}
                }
            }
        }
    }
}