1use crate::screens::git_diff::GitDiffScreen;
2use crate::screens::plan_review::PlanReviewScreen;
3use crate::settings::overlay::SettingsOverlay;
4use crate::surfaces::modal::ElicitationModal;
5use crate::surfaces::session_picker::SessionPicker;
6use crate::surfaces::workspace_picker::WorkspacePicker;
7
8pub enum Route {
10 Conversation,
11 GitReview(Box<GitDiffScreen>),
12 PlanReview(Box<PlanReviewScreen>),
13}
14
15impl Route {
16 pub fn is_fullscreen(&self) -> bool {
17 !matches!(self, Self::Conversation)
18 }
19}
20
21pub enum Overlay {
24 Settings(Box<SettingsOverlay>),
25 Sessions(SessionPicker),
26 Workspaces(WorkspacePicker),
27 Elicitation(ElicitationModal),
28}