glues-tui 0.8.1

TUI and WASM frontends for the Glues note-taking experience
Documentation
mod entry;
mod keymap;
mod notebook;

use {
    super::App, async_recursion::async_recursion, glues_core::transition::Transition,
    std::time::SystemTime,
};

impl App {
    #[async_recursion(?Send)]
    pub(super) async fn handle_transition(&mut self, transition: Transition) {
        match transition {
            Transition::Keymap(transition) => {
                self.handle_keymap_transition(transition).await;
            }
            Transition::Entry(transition) => {
                self.handle_entry_transition(transition).await;
            }
            Transition::Notebook(transition) => {
                self.handle_notebook_transition(transition).await;
            }
            Transition::Log(message) => {
                log!("{message}");
                self.context.last_log = Some((message, SystemTime::now()));
            }
            Transition::Error(message) => {
                log!("[Err] {message}");
                self.context.alert = Some(message);
            }
        }
    }
}