textiler-core 0.1.0

Provides the core utilities to get textiler to work
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::context::ThemeModeContext;
use crate::theme::theme_mode::ThemeMode;
use yew::{hook, use_context, Callback};

#[hook]
pub fn use_mode() -> (ThemeMode, Callback<ThemeMode>) {
    let ctx = use_context::<ThemeModeContext>();
    match ctx {
        Some(ctx) => {
            let callback = {
                let ctx = ctx.clone();
                Callback::from(move |mode| ctx.set(mode))
            };
            ((**ctx).clone(), callback)
        }
        None => (ThemeMode::System, Callback::from(|_| {})),
    }
}