use std::time::Duration; use crossterm::event::{self, Event}; mod app; mod config; mod pdf; mod screens; mod tui; use app::App; fn main() -> Result<(), Box> { let mut terminal = tui::init()?; let result = run(&mut terminal); tui::restore()?; result } fn run(terminal: &mut tui::Tui) -> Result<(), Box> { let mut app = App::new()?; while !app.should_quit { terminal.draw(|f| app.render(f))?; if event::poll(Duration::from_millis(200))? && let Event::Key(key) = event::read()? && key.kind == crossterm::event::KeyEventKind::Press { app.on_key(key); } } Ok(()) }