feat(queue): drag-reorder grouped queue items; collapsed batches no longer block

Batches were stuck where they were created. The parent row had no drag
  handle and wasn't registered with dnd-kit's SortableContext, so the
  only way to move a grouped item was to ungroup, drag, and re-group.
  Collapsed batches also acted as unmovable obstacles for adjacent items.

  The batch parent now registers under a synthetic "batch-<id>" string
  id and carries a GripVertical handle in the header (gated by
  queue:reorder). handleDragEnd resolves both endpoints: dragging a
  batch moves all its children as one block, dropping onto a batch
  anchors at the batch's first child so the group lands immediately
  before it. Direction-aware insert uses the first moving id's index
  instead of the previously single dragged id, so multi-row drags and
  batch drags share the same insert math. Within-batch child reorder
  is unchanged. DragOverlay gained a batch ghost showing
  "<name> (<N> copies)".
This commit is contained in:
maziggy
2026-06-21 12:59:00 +02:00
parent 368ee1bdd1
commit d6e0c2b1d1
18 changed files with 346 additions and 206 deletions
+2 -2
View File
@@ -26,8 +26,8 @@
<!-- Splash screens for iOS -->
<link rel="apple-touch-startup-image" href="/img/android-chrome-512x512.png" />
<script type="module" crossorigin src="/assets/index-D7H6KGaQ.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-aPHrdXng.css">
<script type="module" crossorigin src="/assets/index-DWkuyGzA.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CPDrjcz-.css">
</head>
<body>
<div id="root"></div>