FN-109: enable task-card board panning
Allow users to pan the desktop and tablet board from noninteractive task-card surfaces without disrupting controls or mobile scrolling. - Start horizontal panning from eligible task-card bodies and text while preserving native controls and editing behavior. - Wire board pan state and cursor styling across live board roots while keeping mobile snap and touch scrolling unchanged. - Add regression coverage, documentation updates, and a patch changeset. Files changed: .changeset/fn-109-board-card-pan.md | 7 ++ docs/dashboard-guide.md | 5 +- docs/task-management.md | 4 +- packages/dashboard/app/components/Board.css | 7 +- packages/dashboard/app/components/Board.tsx | 8 +- .../app/components/__tests__/Board.test.tsx | 98 ++++++++++++++++------ .../app/hooks/__tests__/useBoardMousePan.test.tsx | 47 ++++++++++- packages/dashboard/app/hooks/useBoardMousePan.ts | 12 +-- 8 files changed, 146 insertions(+), 42 deletions(-) Fusion-Task-Id: FN-109 Fusion-Task-Lineage: 456bd9d3-9767-4b82-9f99-f191abc44b18 Co-authored-by: Fusion <noreply@runfusion.ai>
This commit is contained in:
@@ -161,7 +161,10 @@ When task detail is open from a board card, task popup, mobile list row, right-d
|
||||
<!-- FNXC:TaskDetailSwipeBackDocs 2026-07-15-10:36: Mobile task popups now register the same navigation entry as modal and full-panel task detail, so every Back delivery mechanism dismisses the popup before it can leave the originating Board or List. -->
|
||||
On mobile board-card detail, **Back to board** also restores the prior board/card scroll position so the same lane context remains visible.
|
||||
|
||||
### Mobile Kanban column snapping
|
||||
### Board panning and mobile Kanban column snapping
|
||||
|
||||
<!-- FNXC:BoardNavigationDocs 2026-08-21-16:09: FN-109 documents that desktop/tablet card-body panning moves only the Board viewport; controls, editing, contextual movement, and phone touch ownership remain independent. -->
|
||||
On desktop and tablet, drag horizontally from an empty Board surface or a task card's noninteractive body or text to pan the Board viewport. The gesture never moves a task: card controls, links, fields, editing, context menus, and file drops keep their normal behavior, and **Move to** in the task context menu remains the only relocation path. Fusion does not auto-scroll at Board edges. Phone touch scrolling and column snapping are unchanged.
|
||||
|
||||
<!-- FNXC:BoardNavigationDocs 2026-08-18-19:10: Phone releases keep free finger scrolling, then use one smooth controlled normal-motion settle to the already-valid reachable column. Reduced-motion users still receive an immediate landing, while programmatic, refresh, resize, and restored-page scrolls remain unsnapped. -->
|
||||
On the mobile Kanban board, free-scroll while your finger is down. At release, Fusion resolves the existing directional or nearest-column target and moves continuously to that exact reachable column, so the board feels fluid instead of abruptly locking or visibly hard-jumping. Direction is locked at finger-up from the net swipe (not rubber-band ticks), and the result pins until the next touch. A direction-zero or off-center release uses the same controlled nearest-column settle, so the board never rests between columns. Reduced-motion preferences, negligible-distance corrections, or unavailable animation capability use an immediate safe landing instead.
|
||||
|
||||
@@ -362,12 +362,14 @@ Board ordering behavior:
|
||||
- The `done` column is recency-ordered by completion time (newest first), using `columnMovedAt` as primary and falling back to `updatedAt` then `createdAt` for legacy tasks.
|
||||
- The dashboard **list view default ordering matches these same per-column semantics** until a user clicks a sortable header (manual list sorting still overrides defaults).
|
||||
|
||||
<!-- FNXC:TaskCardMovement 2026-08-19-18:35: Task movement is contextual so Board and List retain one accessible, validated transition path without native task drag-and-drop. -->
|
||||
<!-- FNXC:TaskCardMovement 2026-08-21-16:09: FN-109 separates desktop/tablet Board viewport panning from contextual task movement so card-body drags cannot restore native relocation. -->
|
||||
|
||||
### Moving tasks on Board and List
|
||||
|
||||
Use a task card or List row's context menu (**right-click**, **Shift+F10** / Context Menu key, the visible overflow control, or touch long-press), then choose **Move to**. When more than one legal destination is available, **Move to** opens one submenu containing each destination; a single destination remains a direct action. This changes task movement only.
|
||||
|
||||
On desktop and tablet Boards, dragging a task card's noninteractive body or text pans the Board viewport without moving the task. Controls and editing remain native; **Move to** remains the only task-relocation path.
|
||||
|
||||
### Lifecycle commands
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user