diff --git a/apps/web/src/components/swipeable-row.tsx b/apps/web/src/components/swipeable-row.tsx index 04d3723..cebe10d 100644 --- a/apps/web/src/components/swipeable-row.tsx +++ b/apps/web/src/components/swipeable-row.tsx @@ -150,6 +150,14 @@ export function SwipeableRow({ onPointerMove={handlePointerMove} onPointerUp={handlePointerUp} onPointerCancel={handlePointerUp} + // Anchors (and ) are natively draggable. When children + // contain a wrapping the card, the browser hijacks the + // pointer for a "drag link" operation as soon as the user + // moves horizontally, so the swipe gesture never reaches our + // pointer handlers. Suppress native drag here once and the + // whole row body is unblocked. + onDragStart={(e) => e.preventDefault()} + draggable={false} style={{ transform: `translateX(${offset}px)`, transition: dragging ? "none" : "transform 200ms ease-out",