mod agents;
mod analytics;
mod flow;

pub use agents::*;
pub use analytics::*;
pub use flow::*;

use dioxus::prelude::*;

use crate::app::Route;
use crate::components::sub_nav::{SubNav, SubNavItem};
use crate::i18n::{t, Locale};

/// Shell layout for the Developer section.
///
/// Renders a horizontal tab bar (Agents, Flow, Analytics) above
/// the child route outlet. Sits inside the main `AppShell` layout.
#[component]
pub fn DeveloperShell() -> Element {
    let locale = use_context::<Signal<Locale>>();
    let l = *locale.read();

    let tabs = vec![
        SubNavItem {
            label: t(l, "nav.agents"),
            route: Route::AgentsPage {},
        },
        SubNavItem {
            label: t(l, "nav.flow"),
            route: Route::FlowPage {},
        },
        SubNavItem {
            label: t(l, "nav.analytics"),
            route: Route::AnalyticsPage {},
        },
    ];

    rsx! {
        div { class: "developer-shell",
            SubNav { items: tabs }
            div { class: "shell-content", Outlet::<Route> {} }
        }
    }
}
