diff --git a/apps/web/src/components/MemoryDrawer.tsx b/apps/web/src/components/MemoryDrawer.tsx index 61fa5e96..f1ca5d47 100644 --- a/apps/web/src/components/MemoryDrawer.tsx +++ b/apps/web/src/components/MemoryDrawer.tsx @@ -25,8 +25,9 @@ export function MemoryDrawer({ className, hide = false, ...props }: Props) { > { if (!itemRef.current || width < 768) { onDelete(); @@ -237,21 +249,27 @@ export function SpaceItem({ ); } -export function SpaceMoreButton({ onDelete }: { onDelete?: () => void }) { - const [isOpen, setIsOpen] = useState(false); - +export function SpaceMoreButton({ + onDelete, + isOpen, + setIsOpen, +}: { + onDelete?: () => void; + isOpen?: boolean; + setIsOpen?: (open: boolean) => void; +}) { return ( <> - + Promise | void; +}) => { + const [touchTimeout, setTouchTimeout] = useState | null>(null); + + return { + onTouchStart: () => { + setTouchTimeout(setTimeout(onHold, holdDuration)); + }, + onTouchEnd: () => { + if (touchTimeout) { + clearTimeout(touchTimeout); + } + }, + }; +}; + +export default useTouchHold;