use crate::exec::cli::RunArgs;
use crate::hub::HubEvent;
use crate::model::ModelEvent;
use derive_more::From;
#[derive(From, Debug)]
pub enum AppEvent {
DoRedraw,
#[from]
Term(crossterm::event::Event),
#[from]
Action(AppActionEvent),
#[from]
Model(ModelEvent),
#[from]
Hub(HubEvent),
Tick(i64),
}
#[derive(Debug, Clone, Copy)]
pub enum ScrollDir {
Up,
Down,
}
#[derive(Debug)]
pub enum AppActionEvent {
Quit,
Redo,
CancelRun,
Scroll(ScrollDir),
ScrollPage(ScrollDir),
ScrollToEnd(ScrollDir),
WorkConfirm(crate::model::Id),
WorkCancel(crate::model::Id),
Run(RunArgs),
}