diff --git a/frontend/components/screen/RealtimePreview.tsx b/frontend/components/screen/RealtimePreview.tsx index ab8cc3ae..81f8dc21 100644 --- a/frontend/components/screen/RealtimePreview.tsx +++ b/frontend/components/screen/RealtimePreview.tsx @@ -563,7 +563,7 @@ export const RealtimePreviewDynamic: React.FC = ({ {/* 위젯 타입 - 동적 렌더링 (파일 컴포넌트 제외) */} {type === "widget" && !isFileComponent(component) && ( -
+
+
{/* 상단 슬림 툴바 */} = ({ required, className, style, + isDesignMode = false, // 디자인 모드 플래그 + ...restProps }) => { - const handleClick = () => { + const handleClick = (e: React.MouseEvent) => { + // 디자인 모드에서는 아무것도 하지 않고 그냥 이벤트 전파 + if (isDesignMode) { + return; + } + // 버튼 클릭 시 동작 (추후 버튼 액션 시스템과 연동) - // console.log("Button clicked:", config); + console.log("Button clicked:", config); // onChange를 통해 클릭 이벤트 전달 if (onChange) { @@ -25,6 +32,25 @@ export const ButtonWidget: React.FC = ({ } }; + // 디자인 모드에서는 div로 렌더링하여 버튼 동작 완전 차단 + if (isDesignMode) { + return ( +
+ {config?.label || config?.text || value || placeholder || "버튼"} +
+ ); + } + return ( + {isDesignMode ? ( + // 디자인 모드: div로 렌더링하여 선택 가능하게 함 +
+ {buttonContent} +
+ ) : ( + // 일반 모드: button으로 렌더링 + + )}
{/* 확인 다이얼로그 - EditModal보다 위에 표시하도록 z-index 최상위로 설정 */}