use super::*;
use crate::Reactive;
use leptos::{context::Provider, prelude::*};
#[component]
pub fn SidebarProvider(
children: Children,
#[prop(optional, into)]
hidden: Reactive<bool>,
#[prop(optional, into, default = Reactive::new("left".to_string()))]
side: Reactive<String>,
) -> impl IntoView {
let close_if_small_screen = move || {
if screen_is_small() {
hidden.set(true)
}
};
let context = SidebarContext {
close_if_small_screen: Arc::new(close_if_small_screen),
hidden,
side,
};
view! { <Provider value=context>{children()}</Provider> }
}