diff --git a/src/components/ProjectSetupModal.tsx b/src/components/ProjectSetupModal.tsx
index a8f6ba4d..2aa64262 100644
--- a/src/components/ProjectSetupModal.tsx
+++ b/src/components/ProjectSetupModal.tsx
@@ -383,12 +383,13 @@ export function ProjectSetupModal({
return (
{
+ if (e.target === e.currentTarget) onClose();
+ }}
onWheelCapture={(e) => e.stopPropagation()}
>
e.stopPropagation()}
onKeyDown={handleKeyDown}
>
diff --git a/src/components/nodes/ControlPanel.tsx b/src/components/nodes/ControlPanel.tsx
index 888b155d..aa526284 100644
--- a/src/components/nodes/ControlPanel.tsx
+++ b/src/components/nodes/ControlPanel.tsx
@@ -884,6 +884,7 @@ function EaseCurveControls({ node }: { node: Node }) {
const removeEdge = useWorkflowStore((state) => state.removeEdge);
const [showPresets, setShowPresets] = useState(false);
const presetsButtonRef = useRef
(null);
+ const presetsPopupRef = useRef(null);
useEffect(() => {
if (!showPresets) return;
@@ -893,6 +894,7 @@ function EaseCurveControls({ node }: { node: Node }) {
};
const handleClickOutside = (e: MouseEvent) => {
if (presetsButtonRef.current?.contains(e.target as HTMLElement)) return;
+ if (presetsPopupRef.current?.contains(e.target as HTMLElement)) return;
setShowPresets(false);
};
@@ -1022,6 +1024,7 @@ function EaseCurveControls({ node }: { node: Node }) {
{showPresets && typeof document !== 'undefined' && createPortal(