pub mod app;
pub mod event;
pub mod screens;
pub mod theme;
pub mod ui;
use anyhow::Result;
use app::App;
use crossterm::{
terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen},
ExecutableCommand,
};
use ratatui::{backend::CrosstermBackend, Terminal};
use std::io::{self, stdout};
pub fn run_tui() -> Result<()> {
enable_raw_mode()?;
stdout().execute(EnterAlternateScreen)?;
let mut terminal = Terminal::new(CrosstermBackend::new(io::stdout()))?;
let mut app = App::new()?;
let result = event::run(&mut terminal, &mut app);
disable_raw_mode()?;
stdout().execute(LeaveAlternateScreen)?;
result
}