codex-helper-tui 0.12.1

Terminal UI crate for codex-helper.
Documentation
use ratatui::Frame;
use ratatui::layout::{Margin, Rect};

use crate::tui::ProviderOption;
use crate::tui::model::{Palette, Snapshot};
use crate::tui::state::UiState;
use crate::tui::types::Page;

mod configs;
mod dashboard;
mod history;
mod recent;
mod requests;
mod sessions;
mod settings;

pub(super) fn render_body(
    f: &mut Frame<'_>,
    p: Palette,
    ui: &mut UiState,
    snapshot: &Snapshot,
    providers: &[ProviderOption],
    area: Rect,
) {
    let area = area.inner(Margin {
        horizontal: 1,
        vertical: 1,
    });

    match ui.page {
        Page::Dashboard => dashboard::render_dashboard(f, p, ui, snapshot, providers, area),
        Page::Configs => configs::render_configs_page(f, p, ui, snapshot, providers, area),
        Page::Sessions => sessions::render_sessions_page(f, p, ui, snapshot, area),
        Page::Requests => requests::render_requests_page(f, p, ui, snapshot, area),
        Page::Stats => super::stats::render_stats_page(f, p, ui, snapshot, providers, area),
        Page::Settings => settings::render_settings_page(f, p, ui, snapshot, area),
        Page::History => history::render_history_page(f, p, ui, area),
        Page::Recent => recent::render_recent_page(f, p, ui, area),
    }
}