diff options
Diffstat (limited to 'src/app/agent_view.rs')
| -rw-r--r-- | src/app/agent_view.rs | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/app/agent_view.rs b/src/app/agent_view.rs index ba50ee3a..58c1d7de 100644 --- a/src/app/agent_view.rs +++ b/src/app/agent_view.rs @@ -7,7 +7,7 @@ use crate::api::schema::{ }; use crate::ui::AgentPanelEntry; -use super::{AppState, Mode}; +use super::AppState; const MAX_FILTER_DEPTH: usize = 8; const MAX_FILTER_NODES: usize = 64; @@ -78,11 +78,7 @@ pub(crate) fn apply_agent_view(app: &AppState, entries: &mut Vec<AgentPanelEntry } pub(crate) fn presented_workspace_idx(app: &AppState) -> Option<usize> { - if app.mode == Mode::Navigate { - app.workspaces.get(app.selected).map(|_| app.selected) - } else { - app.active - } + app.active } fn normalize_source(source: &str) -> Result<String, String> { @@ -449,6 +445,10 @@ mod tests { state } + fn projected_entries(state: &AppState) -> Vec<crate::ui::AgentPanelEntry> { + crate::ui::agent_panel_entries_from(state, &crate::terminal::TerminalRuntimeRegistry::new()) + } + fn current_workspace_view() -> AgentViewSetParams { AgentViewSetParams { source: "example.views".to_string(), @@ -468,16 +468,15 @@ mod tests { let mut state = state_with_agents(); state.agent_view_override = Some(current_workspace_view()); - assert_eq!(crate::ui::agent_panel_entries(&state)[0].ws_idx, 0); + assert_eq!(projected_entries(&state)[0].ws_idx, 0); - state.mode = Mode::Navigate; - state.selected = 1; - let entries = crate::ui::agent_panel_entries(&state); + state.active = Some(1); + let entries = projected_entries(&state); assert_eq!(entries.len(), 1); assert_eq!(entries[0].ws_idx, 1); - state.mode = Mode::Settings; - let entries = crate::ui::agent_panel_entries(&state); + state.active = Some(0); + let entries = projected_entries(&state); assert_eq!(entries.len(), 1); assert_eq!(entries[0].ws_idx, 0); } @@ -513,7 +512,7 @@ mod tests { }], }); - let entries = crate::ui::agent_panel_entries(&state); + let entries = projected_entries(&state); assert_eq!(entries.len(), 2); assert_eq!(entries[0].ws_idx, 1); assert_eq!(entries[1].ws_idx, 0); @@ -547,7 +546,7 @@ mod tests { sort: Vec::new(), }); - let entries = crate::ui::agent_panel_entries(&state); + let entries = projected_entries(&state); assert_eq!(entries.len(), 1); assert_eq!(entries[0].agent_kind_label.as_deref(), Some("custom-agent")); } |
