freya_components/
activable_route_context.rs

1use freya_core::prelude::{
2    State,
3    use_try_consume,
4};
5
6#[derive(Clone)]
7pub struct ActivableRouteContext(pub State<bool>);
8
9impl ActivableRouteContext {
10    pub fn is_active(&self) -> bool {
11        *self.0.read()
12    }
13}
14
15pub fn use_activable_route() -> bool {
16    let ctx = use_try_consume::<ActivableRouteContext>();
17
18    if let Some(ctx) = ctx {
19        ctx.is_active()
20    } else {
21        false
22    }
23}