diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-04-06 16:00:34 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-04-06 16:00:34 +0300 |
| commit | fdea0bbbf606fcd8cfec1613a3aaf610bfb9b3cf (patch) | |
| tree | d9e02845dc8855d26e9d5a1a376f213b02aac6db /src/app/input.rs | |
| parent | 24572604fbc20910e7cdb0b2767dc1970d8e1921 (diff) | |
fix(ui): add sidebar section headers and align workspace drag slots
Diffstat (limited to 'src/app/input.rs')
| -rw-r--r-- | src/app/input.rs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/app/input.rs b/src/app/input.rs index fdb668c6..da38f1d7 100644 --- a/src/app/input.rs +++ b/src/app/input.rs @@ -3361,7 +3361,32 @@ mod tests { crate::ui::compute_view(&mut app.state, Rect::new(0, 0, 106, 20)); assert_eq!(app.state.workspace_drop_index_at_row(0), Some(0)); - assert_eq!(app.state.workspace_drop_index_at_row(1), Some(1)); + assert_eq!(app.state.workspace_drop_index_at_row(1), Some(0)); + assert_eq!(app.state.workspace_drop_index_at_row(2), Some(0)); + assert_eq!(app.state.workspace_drop_index_at_row(3), Some(1)); + } + + #[test] + fn bottom_drop_slot_stays_below_last_workspace_not_footer() { + let mut app = app_for_mouse_test(); + app.state.workspaces = vec![ + Workspace::test_new("a"), + Workspace::test_new("b"), + Workspace::test_new("c"), + ]; + crate::ui::compute_view(&mut app.state, Rect::new(0, 0, 106, 20)); + + let cards = &app.state.view.workspace_card_areas; + let bottom_slot = crate::ui::workspace_drop_indicator_row( + cards, + app.state.workspace_list_rect(), + cards.len(), + ) + .unwrap(); + + let last = cards.last().unwrap().rect; + assert_eq!(bottom_slot, last.y + last.height); + assert!(bottom_slot < app.state.sidebar_footer_rect().y.saturating_sub(1)); } #[test] |
