MCPcopy Create free account
hub / github.com/DioxusLabs/dioxus-components / DocsSidebar

Function DocsSidebar

preview/src/main.rs:696–754  ·  view source on GitHub ↗
(active_component: Option<&'static str>)

Source from the content-addressed store, hash-verified

694
695#[component]
696fn DocsSidebar(active_component: Option<&'static str>) -> Element {
697 let mut open = use_signal(|| false);
698 let close = move |_| open.set(false);
699 rsx! {
700 button {
701 class: "dx-docs-sidebar-toggle",
702 r#type: "button",
703 aria_label: "Open navigation",
704 aria_expanded: open(),
705 aria_controls: "dx-docs-sidebar-nav",
706 onclick: move |_| open.set(true),
707 Menu { size: "18" }
708 span { "Menu" }
709 }
710 div {
711 class: if open() { "dx-docs-sidebar-backdrop dx-docs-sidebar-backdrop-open" } else { "dx-docs-sidebar-backdrop" },
712 aria_hidden: "true",
713 onclick: close,
714 }
715 aside {
716 id: "dx-docs-sidebar-nav",
717 class: if open() { "dx-docs-sidebar dx-docs-sidebar-open" } else { "dx-docs-sidebar" },
718 aria_label: "Docs navigation",
719 button {
720 class: "dx-docs-sidebar-close",
721 r#type: "button",
722 aria_label: "Close navigation",
723 onclick: close,
724 X { size: "18" }
725 }
726 div { class: "dx-docs-sidebar-scroll",
727 nav {
728 aria_label: "Components",
729 onclick: close,
730 div { class: "dx-docs-sidebar-section",
731 p { class: "dx-docs-sidebar-heading", "Start" }
732 Link {
733 to: Route::docs(),
734 class: if active_component.is_none() { "dx-docs-sidebar-link dx-docs-sidebar-link-active" } else { "dx-docs-sidebar-link" },
735 "Overview"
736 }
737 }
738 for cat in components::ComponentCategory::ALL.iter().copied() {
739 div { class: "dx-docs-sidebar-section",
740 p { class: "dx-docs-sidebar-heading", "{cat.label()}" }
741 for component in components::DEMOS.iter().filter(|c| components::category_of(c.name) == cat) {
742 Link {
743 to: Route::component(component.name),
744 class: if active_component == Some(component.name) { "dx-docs-sidebar-link dx-docs-sidebar-link-active" } else { "dx-docs-sidebar-link" },
745 {component.name.replace("_", " ")}
746 }
747 }
748 }
749 }
750 }
751 }
752 }
753 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected