From 484f477d6cd950af4f8d0b9dade36ede39181a03 Mon Sep 17 00:00:00 2001 From: Macbook Date: Tue, 16 Jun 2026 10:23:06 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A7=80=ED=91=9C=20=EC=84=A0=ED=83=9D=20?= =?UTF-8?q?=EB=A7=88=EC=9A=B0=EC=8A=A4=20=EC=8A=A4=ED=81=AC=EB=A1=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/App.css | 1 + .../strategyEditor/ConditionPresetPicker.tsx | 19 +++++++++++++++++-- frontend/src/styles/strategyEditor.css | 1 + 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/frontend/src/App.css b/frontend/src/App.css index 62c98da..7b8de62 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -7619,6 +7619,7 @@ html.desktop-client .tmb-logo-version { width: min(320px, calc(100vw - 24px)); max-height: min(420px, 60vh); overflow: auto; + overscroll-behavior: contain; padding: 8px 10px; border-radius: 8px; border: 1px solid color-mix(in srgb, #a78bfa 45%, transparent); diff --git a/frontend/src/components/strategyEditor/ConditionPresetPicker.tsx b/frontend/src/components/strategyEditor/ConditionPresetPicker.tsx index a5c5b38..afa4cbf 100644 --- a/frontend/src/components/strategyEditor/ConditionPresetPicker.tsx +++ b/frontend/src/components/strategyEditor/ConditionPresetPicker.tsx @@ -93,6 +93,21 @@ export default function ConditionPresetPicker({ }; }, [onClose]); + /** 그래프 모드: 팝업 위 휠 스크롤이 React Flow 줌으로 전달되지 않도록 차단 */ + useEffect(() => { + const el = popRef.current; + if (!el) return; + const onWheel = (e: WheelEvent) => { + e.stopPropagation(); + }; + el.addEventListener('wheel', onWheel, { capture: true, passive: true }); + return () => el.removeEventListener('wheel', onWheel, { capture: true }); + }, []); + + const stopWheelBubble = (e: React.WheelEvent) => { + e.stopPropagation(); + }; + const handlePick = (preset: ConditionPreset) => { if (isCompoundConditionPreset(preset)) { onReplaceNode(applyCompoundConditionPreset(nodeId, condition, preset, def)); @@ -104,7 +119,7 @@ export default function ConditionPresetPicker({ if (presets.length === 0) { return ( -
+
조건 선택 @@ -115,7 +130,7 @@ export default function ConditionPresetPicker({ } return ( -
+
조건 선택 diff --git a/frontend/src/styles/strategyEditor.css b/frontend/src/styles/strategyEditor.css index 5847ac7..2c8f7bd 100644 --- a/frontend/src/styles/strategyEditor.css +++ b/frontend/src/styles/strategyEditor.css @@ -1262,6 +1262,7 @@ width: min(320px, calc(100vw - 24px)); max-height: min(420px, 60vh); overflow: auto; + overscroll-behavior: contain; padding: 8px 10px; border-radius: 8px; border: 1px solid color-mix(in srgb, #a78bfa 45%, transparent);