canonrs-server 0.1.0

CanonRS server-side rendering support
//! Navigation Provider - Provides NavigationState via Leptos Context

use leptos::prelude::*;
use canonrs_core::NavigationState;

#[component]
pub fn NavigationProvider(
    children: Children,
) -> impl IntoView {
    let state = RwSignal::new(NavigationState::new());
    
    provide_context(state);
    
    view! {
        {children()}
    }
}

// Hook para consumir context
pub fn use_navigation_state() -> RwSignal<NavigationState> {
    use_context::<RwSignal<NavigationState>>()
        .expect("NavigationProvider not found in component tree")
}