(task: VaultTask, e: React.PointerEvent)
| 175 | toIsoDateLocal(new Date(today.getFullYear(), today.getMonth(), today.getDate() + n)) |
| 176 | |
| 177 | const startPointerDrag = (task: VaultTask, e: React.PointerEvent): void => { |
| 178 | if (e.button !== 0) return |
| 179 | suppressClickRef.current = false |
| 180 | pointerDragRef.current = { task, startX: e.clientX, startY: e.clientY, dragging: false } |
| 181 | } |
| 182 | |
| 183 | // Keep the latest reschedule/move callbacks in a ref so the window listeners |
| 184 | // can mount once (the parent passes fresh arrows each render). |