From 85c61cfacdfc436b42177f746e99d393e3fcc6ed Mon Sep 17 00:00:00 2001 From: "diana.dolgolyova" Date: Wed, 11 Mar 2026 19:10:42 +0300 Subject: [PATCH] fix: remove card-body drag from ArrayEditor form cards Card-body drag was causing accidental drags in complex form cards (classes, FAQ, pricing). Keep grip-icon-only drag for ArrayEditor, card-body drag remains on team page (simple cards). Co-Authored-By: Claude Opus 4.6 --- src/app/admin/_components/ArrayEditor.tsx | 33 ----------------------- 1 file changed, 33 deletions(-) diff --git a/src/app/admin/_components/ArrayEditor.tsx b/src/app/admin/_components/ArrayEditor.tsx index 8e6c2ac..4d0fee1 100644 --- a/src/app/admin/_components/ArrayEditor.tsx +++ b/src/app/admin/_components/ArrayEditor.tsx @@ -63,37 +63,6 @@ export function ArrayEditor({ [startDrag] ); - const handleCardMouseDown = useCallback( - (e: React.MouseEvent, index: number) => { - // Don't drag from interactive elements - const tag = (e.target as HTMLElement).closest("input, textarea, select, button, a, [role='switch']"); - if (tag) return; - e.preventDefault(); - - const x = e.clientX; - const y = e.clientY; - const pendingIndex = index; - - function onMove(ev: MouseEvent) { - const dx = ev.clientX - x; - const dy = ev.clientY - y; - // Start drag after 8px movement - if (Math.abs(dx) > 8 || Math.abs(dy) > 8) { - cleanup(); - startDrag(ev.clientX, ev.clientY, pendingIndex); - } - } - function onUp() { cleanup(); } - function cleanup() { - window.removeEventListener("mousemove", onMove); - window.removeEventListener("mouseup", onUp); - } - window.addEventListener("mousemove", onMove); - window.addEventListener("mouseup", onUp); - }, - [startDrag] - ); - useEffect(() => { if (dragIndex === null) return; @@ -156,7 +125,6 @@ export function ArrayEditor({
{ itemRefs.current[i] = el; }} - onMouseDown={(e) => handleCardMouseDown(e, i)} className="rounded-lg border border-white/10 bg-neutral-900/50 p-4 mb-3 hover:border-white/25 hover:bg-neutral-800/50 transition-colors" >
@@ -207,7 +175,6 @@ export function ArrayEditor({
{ itemRefs.current[i] = el; }} - onMouseDown={(e) => handleCardMouseDown(e, i)} className="rounded-lg border border-white/10 bg-neutral-900/50 p-4 mb-3 hover:border-white/25 hover:bg-neutral-800/50 transition-colors" >