"use client"; import React, { useState, useEffect } from "react"; import { ConditionalSectionViewerProps } from "./types"; import { InteractiveScreenViewer } from "@/components/screen/InteractiveScreenViewer"; import { cn } from "@/lib/utils"; import { Loader2 } from "lucide-react"; /** * 조건부 섹션 뷰어 컴포넌트 * 각 조건에 해당하는 화면을 표시 */ export function ConditionalSectionViewer({ sectionId, condition, label, screenId, screenName, isActive, isDesignMode, showBorder = true, formData, onFormDataChange, }: ConditionalSectionViewerProps) { const [isLoading, setIsLoading] = useState(false); // 디자인 모드가 아니고 비활성 섹션이면 렌더링하지 않음 if (!isDesignMode && !isActive) { return null; } return (
{/* 섹션 라벨 (디자인 모드에서만 표시) */} {isDesignMode && (
{label} {isActive && "(활성)"} {screenId && ` - 화면 ID: ${screenId}`}
)} {/* 화면 미선택 안내 (디자인 모드 + 화면 없을 때) */} {isDesignMode && !screenId && (

설정 패널에서 화면을 선택하세요

조건: {condition}

)} {/* 로딩 중 */} {isLoading && (

화면 로드 중...

)} {/* 화면 렌더링 */} {screenId && (
)}
); }