Skip to main content

git_same/tui/
ui.rs

1//! Top-level rendering dispatcher (the "View").
2
3use super::app::{App, Screen};
4use super::screens;
5use ratatui::Frame;
6
7/// Render the current screen.
8pub fn render(app: &mut App, frame: &mut Frame) {
9    match app.screen {
10        Screen::WorkspaceSetup => {
11            if let Some(ref setup) = app.setup_state {
12                crate::setup::ui::render(setup, frame);
13            }
14        }
15        Screen::Workspaces => screens::workspaces::render(app, frame),
16        Screen::Dashboard => screens::dashboard::render(app, frame),
17        Screen::Sync => {
18            screens::dashboard::render(app, frame);
19            screens::sync::render(app, frame);
20        }
21        Screen::Settings => screens::settings::render(app, frame),
22    }
23}