Skip to main content

palo_tui/
lib.rs

1use palo_core::orchestration::Orchestrator;
2use tracing::info;
3
4pub mod app;
5pub mod event;
6pub mod logging;
7pub mod ui;
8
9pub async fn build_app(orchestrator: &Orchestrator) -> app::App {
10    app::App::from_orchestrator(orchestrator).await
11}
12
13pub async fn run_app(app: app::App) -> color_eyre::Result<()> {
14    let terminal = ratatui::init();
15    let result = app.run(terminal).await;
16    ratatui::restore();
17    info!("palo tui session ended");
18    result
19}
20
21pub async fn run_with_orchestrator(orchestrator: &Orchestrator) -> color_eyre::Result<()> {
22    run_app(build_app(orchestrator).await).await
23}