| ... | ... | @@ -862,6 +862,7 @@ export default function Sidebar() { |
| 862 | 862 | |
| 863 | 863 | const handleProjectDragCancel = useCallback((_event: DragCancelEvent) => { |
| 864 | 864 | dragInProgressRef.current = false; |
| 865 | suppressProjectClickAfterDragRef.current = false; |
| 865 | 866 | }, []); |
| 866 | 867 | |
| 867 | 868 | const handleProjectTitlePointerDownCapture = useCallback(() => { |
| ... | ... | @@ -870,7 +871,14 @@ export default function Sidebar() { |
| 870 | 871 | |
| 871 | 872 | const handleProjectTitleClick = useCallback( |
| 872 | 873 | (event: React.MouseEvent<HTMLButtonElement>, projectId: ProjectId) => { |
| 873 | | if (dragInProgressRef.current || suppressProjectClickAfterDragRef.current) { |
| 874 | if (dragInProgressRef.current) { |
| 875 | event.preventDefault(); |
| 876 | event.stopPropagation(); |
| 877 | return; |
| 878 | } |
| 879 | if (suppressProjectClickAfterDragRef.current) { |
| 880 | // Consume the synthetic click emitted after a drag release. |
| 881 | suppressProjectClickAfterDragRef.current = false; |
| 874 | 882 | event.preventDefault(); |
| 875 | 883 | event.stopPropagation(); |
| 876 | 884 | return; |