From fd97eb306d5ee7a2d9a5f36ed64639a744b9fc61 Mon Sep 17 00:00:00 2001 From: ginnoir Date: Wed, 3 Jun 2026 22:01:33 -0500 Subject: [PATCH] fix: list item checkbox/delete broken by pointer capture, badge wrapping setPointerCapture on the swipe row div was swallowing click events from child buttons; guard now bails early when the pointer originates from a button or input. Also added whitespace-nowrap + shrink-0 to the list type/count badge to prevent it wrapping across two lines. --- src/modules/lists/components/list-detail.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/lists/components/list-detail.tsx b/src/modules/lists/components/list-detail.tsx index 1c24310..6d26f09 100644 --- a/src/modules/lists/components/list-detail.tsx +++ b/src/modules/lists/components/list-detail.tsx @@ -108,7 +108,7 @@ export function ListDetail({ initialList }: { initialList: ListDetailDto }) { onChange={(event) => setList({ ...list, name: event.target.value })} onBlur={commitListName} /> - + {list.type} ยท {list.openCount} open @@ -202,6 +202,7 @@ function ListItemRow({ const MAX_SWIPE = 100; // px maximum visual displacement function handlePointerDown(e: React.PointerEvent) { + if ((e.target as HTMLElement).closest("button, input")) return; e.currentTarget.setPointerCapture(e.pointerId); swipeOrigin.current = { x: e.clientX, y: e.clientY }; isScrolling.current = false;