mod dashboard; mod pricing; pub use dashboard::*; pub use pricing::*; use dioxus::prelude::*; use crate::app::Route; use crate::components::sub_nav::{SubNav, SubNavItem}; use crate::i18n::{t, Locale}; /// Shell layout for the Organization section. /// /// Renders a horizontal tab bar (Pricing, Dashboard) above /// the child route outlet. Sits inside the main `AppShell` layout. #[component] pub fn OrgShell() -> Element { let locale = use_context::>(); let l = *locale.read(); let tabs = vec![ SubNavItem { label: t(l, "nav.pricing"), route: Route::OrgPricingPage {}, }, SubNavItem { label: t(l, "nav.dashboard"), route: Route::OrgDashboardPage {}, }, ]; rsx! { div { class: "org-shell", SubNav { items: tabs } div { class: "shell-content", Outlet:: {} } } } }