From 36f01f65b1804125e7d18a17ce57205248e1b7fd Mon Sep 17 00:00:00 2001 From: lukeflo Date: Wed, 2 Oct 2024 21:45:26 +0200 Subject: reordered tui handling --- src/main.rs | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index c7007ba..9fc9d17 100644 --- a/src/main.rs +++ b/src/main.rs @@ -21,17 +21,19 @@ use backend::cliargs::{self, CLIArgs}; use ratatui::{backend::CrosstermBackend, Terminal}; use crate::{ - frontend::app::{App, AppResult}, + frontend::app::App, frontend::event::{Event, EventHandler}, frontend::handler::handle_key_events, frontend::tui::Tui, }; +use color_eyre::eyre::Result; + pub mod backend; pub mod frontend; #[tokio::main] -async fn main() -> AppResult<()> { +async fn main() -> Result<()> { // Parse CLI arguments let parsed_args = CLIArgs::parse_cli_args(); @@ -48,29 +50,8 @@ async fn main() -> AppResult<()> { } // Create an application. - let mut app = App::new(); - - // Initialize the terminal user interface. - let backend = CrosstermBackend::new(io::stdout()); - let terminal = Terminal::new(backend)?; - let events = EventHandler::new(250); - let mut tui = Tui::new(terminal, events); - tui.init()?; - - // Start the main loop. - while app.running { - // Render the user interface. - tui.draw(&mut app)?; - // Handle events. - match tui.events.next().await? { - Event::Tick => app.tick(), - Event::Key(key_event) => handle_key_events(key_event, &mut app)?, - Event::Mouse(_) => {} - Event::Resize(_, _) => {} - } - } + let mut app = App::new()?; - // Exit the user interface. - tui.exit()?; + app.run().await?; Ok(()) } -- cgit v1.2.3