use std::{
io,
sync::mpsc::{self, Sender},
thread::{self, JoinHandle},
};
use app::App;
pub mod app;
mod components;
mod tui;
mod util;
pub use app::Update;
pub fn init(plots: &[&'static str], episodes: u16) -> (JoinHandle<io::Result<()>>, Sender<Update>) {
tui_logger::init_logger(log::LevelFilter::Trace).unwrap();
tui_logger::set_default_level(log::LevelFilter::Warn);
tui_logger::set_level_for_target("tui", log::LevelFilter::Trace);
tui_logger::move_events();
let mut app = App::new(plots, episodes);
let (tx, rx) = mpsc::channel();
let handle = thread::spawn(move || app.run(rx));
(handle, tx)
}