Drag-and-drop and keyboard swapping (Feature 14) #120

3 Commits
Author SHA1 Message Date
dev_agentandClaude Opus 5.5 9e0c20ab5e Reflow the floating copy offset comment
CI / ci (push) Successful in 3m16s
CI / ci (pull_request) Successful in 3m22s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 15:28:02 -04:00
dev_agentandClaude Opus 5.5 621fdef42b Offset the dragged copy below right of the pointer (Feature 14)
CI / ci (push) Successful in 3m30s
CI / ci (pull_request) Successful in 3m20s
The floating copy sat where it was grabbed, over the hovered day's
"Drop to swap / Replaces ..." text. It now floats 48 px below and to
the right of the pointer, flipping left or up where it would leave the
viewport, so the day's current dinner stays readable during a drag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 15:27:49 -04:00
dev_agentandClaude Opus 5.5 3d6c1109c8 Drag dinners onto days, by pointer or keyboard (Feature 14)
CI / ci (push) Successful in 3m26s
CI / ci (pull_request) Successful in 3m19s
From tablet up, a Quest-log or Regular dinner is dragged from desktop's
right panel or tablet's Quest-log strip onto a day of the week to swap it
in. Pointer events with capture: the source becomes a dashed ghost at 55%
opacity, a copy floats with shadow-lg at -3deg, and the day under the
pointer shows a dashed 2.5 px grape border on grape-100 with "Drop to swap /
Replaces {dinner}". Letting go over a day calls useSwapDay's mutate, so the
swap is optimistic and rolls back with the existing error; anywhere else, a
pointer cancel or Escape cancels with no request.

Keyboard alternative: Enter or Space picks a row up onto Monday, the arrow
keys choose the day, Enter drops (moving focus to that day's swap button),
Escape or leaving the row cancels. Each step is announced in a polite live
region. No drag starts while a swap of the week is pending, nor for a
dinner already this week, matching the swap sheet. Mobile is unchanged.

Task: 5c2842a8-5ac1-4141-9575-c0f461d90c3e

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 15:03:57 -04:00