d951587d31
Each category group had its own isolated DndContext, so dnd-kit had no way to resolve a drop that landed in a different group — cross-category drags were silently no-ops by construction, not an edge-case bug. Lifted to a single DndContext wrapping all groups, with one handleDragEnd that looks up both the dragged item's and the drop target's current group from live state: same group reorders as before, different group changes the item's aisle (appended after the item it was dropped on) via the existing changeCategory persistence path. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>