Skip to main content

euv_ui/component/theme/hook/
struct.rs

1use crate::*;
2
3/// Holds the reactive state for the application theme.
4///
5/// Provides the current theme signal and the derived root element class name
6/// signal that combines the app root class with the active theme class.
7#[derive(Clone, Copy, Data, New)]
8pub struct ThemeState {
9    /// The current theme name signal ("light" or "dark").
10    #[get(type(copy))]
11    pub theme: Signal<String>,
12    /// The derived root element class name signal combining the app root
13    /// class and the active theme class.
14    #[get(type(copy))]
15    pub root_class: Signal<String>,
16}