aboutsummaryrefslogtreecommitdiff
path: root/src/app/state.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-19 23:58:17 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-20 00:00:16 +0300
commitfb93e3747544afc3288d7b5e831d5ca3dd5c3768 (patch)
tree95ed3208395ebe68dc49fbd7d8edb7e16597ba49 /src/app/state.rs
parent2bebac461b1d5d6a1ec42d70c2338cf27eee8c56 (diff)
feat: surface agent integrations in onboarding
Diffstat (limited to 'src/app/state.rs')
-rw-r--r--src/app/state.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/app/state.rs b/src/app/state.rs
index 34be58d2..746474df 100644
--- a/src/app/state.rs
+++ b/src/app/state.rs
@@ -620,10 +620,17 @@ pub enum SettingsSection {
Sound,
Toast,
PaneLabels,
+ Integrations,
}
impl SettingsSection {
- pub const ALL: &[Self] = &[Self::Theme, Self::Sound, Self::Toast, Self::PaneLabels];
+ pub const ALL: &[Self] = &[
+ Self::Theme,
+ Self::Sound,
+ Self::Toast,
+ Self::PaneLabels,
+ Self::Integrations,
+ ];
pub fn label(self) -> &'static str {
match self {
@@ -631,6 +638,7 @@ impl SettingsSection {
Self::Sound => "sound",
Self::Toast => "toasts",
Self::PaneLabels => "pane labels",
+ Self::Integrations => "integrations",
}
}
}
@@ -972,6 +980,10 @@ pub struct AppState {
pub theme_name: String,
/// Settings panel state.
pub settings: SettingsState,
+ /// Cached integration recommendations for onboarding/settings UI.
+ pub integration_recommendations: Vec<crate::integration::IntegrationRecommendation>,
+ /// Result messages from the latest integration install action.
+ pub integration_install_messages: Vec<String>,
/// Highlight state for the bottom-right global launcher menu.
pub global_menu: MenuListState,
/// Resolved host terminal default colors for theming embedded panes.
@@ -1279,6 +1291,8 @@ impl AppState {
original_palette: None,
original_theme: None,
},
+ integration_recommendations: Vec::new(),
+ integration_install_messages: Vec::new(),
global_menu: MenuListState::new(0),
host_terminal_theme: TerminalTheme::default(),
session_dirty: false,