diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-28 14:56:51 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-07-28 14:56:53 +0300 |
| commit | 81f355fadac7d0d45b077dfc28f9f679add6bbb6 (patch) | |
| tree | 8c734b443c28ee4de8c4058f5a0c25cafbd057bd /src/ui/status.rs | |
| parent | 1491b7dd9c992ef0ad2b763f3e450befaf25c47f (diff) | |
perf: replace agent spinners with static status marks
Diffstat (limited to 'src/ui/status.rs')
| -rw-r--r-- | src/ui/status.rs | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/ui/status.rs b/src/ui/status.rs index ede38b85..a7399285 100644 --- a/src/ui/status.rs +++ b/src/ui/status.rs @@ -203,21 +203,6 @@ pub(super) fn state_dot(state: AgentState, seen: bool, p: &Palette) -> (&'static } } -pub(super) fn agent_icon( - state: AgentState, - seen: bool, - tick: u32, - p: &Palette, -) -> (&'static str, Style) { - match (state, seen) { - (AgentState::Blocked, _) => ("◉", Style::default().fg(p.red)), - (AgentState::Working, _) => (super::spinner_frame(tick), Style::default().fg(p.yellow)), - (AgentState::Idle, false) => ("●", Style::default().fg(p.teal)), - (AgentState::Idle, true) => ("✓", Style::default().fg(p.green)), - (AgentState::Unknown, _) => ("○", Style::default().fg(p.overlay0)), - } -} - pub(super) fn state_label(state: AgentState, seen: bool) -> &'static str { match (state, seen) { (AgentState::Blocked, _) => "blocked", @@ -260,6 +245,22 @@ mod tests { } #[test] + fn state_dots_use_aligned_static_workspace_marks() { + let palette = Palette::catppuccin(); + for (state, seen, symbol, color) in [ + (AgentState::Blocked, true, "●", palette.red), + (AgentState::Working, true, "●", palette.yellow), + (AgentState::Idle, false, "●", palette.teal), + (AgentState::Idle, true, "○", palette.green), + (AgentState::Unknown, true, "·", palette.overlay0), + ] { + let (actual_symbol, style) = state_dot(state, seen, &palette); + assert_eq!(actual_symbol, symbol); + assert_eq!(style.fg, Some(color)); + } + } + + #[test] fn toast_rect_uses_configured_corner() { let area = Rect::new(10, 20, 100, 40); let toast = toast(); |
