tui-framework-experiment 0.4.0

An set of harmonious Ratatui widgets with a goal of building a proper widget framework.
Documentation
use std::io::stdout;

use color_eyre::Result;
use crossterm::{
    event::{DisableMouseCapture, EnableMouseCapture},
    ExecutableCommand,
};
use ratatui::DefaultTerminal;

mod app;
mod tabs {
    mod buttons;
    mod stack;
    mod toggle_switch;
    pub use buttons::ButtonsTab;
    pub use stack::StackTab;
    pub use toggle_switch::ToggleSwitchTab;
}
use app::App;

fn main() -> Result<()> {
    color_eyre::install()?;
    let terminal = ratatui::init();
    let result = run(terminal);
    ratatui::restore();
    result
}

fn run(terminal: DefaultTerminal) -> Result<()> {
    stdout().execute(EnableMouseCapture)?;
    App::new().run(terminal)?;
    stdout().execute(DisableMouseCapture)?;
    Ok(())
}