"use client"; import React from "react"; import { ComponentData, WebType } from "@/types/screen"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; // import { Checkbox } from "@/components/ui/checkbox"; // import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { Database, Type, Hash, List, AlignLeft, CheckSquare, Radio, Calendar, Code, Building, File, Group, ChevronDown, ChevronRight, } from "lucide-react"; interface RealtimePreviewProps { component: ComponentData; isSelected?: boolean; onClick?: () => void; onDragStart?: (e: React.DragEvent) => void; onDragEnd?: () => void; onGroupToggle?: (groupId: string) => void; // 그룹 접기/펼치기 children?: React.ReactNode; // 그룹 내 자식 컴포넌트들 } // 웹 타입에 따른 위젯 렌더링 const renderWidget = (component: ComponentData) => { const { widgetType, label, placeholder, required, readonly, columnName } = component; // 디버깅: 실제 widgetType 값 확인 console.log("RealtimePreview - widgetType:", widgetType, "columnName:", columnName); const commonProps = { placeholder: placeholder || `입력하세요...`, disabled: readonly, required: required, className: "w-full h-full", }; switch (widgetType) { case "text": case "email": case "tel": return ; case "number": case "decimal": return ; case "date": case "datetime": return ; case "select": case "dropdown": return ( ); case "textarea": case "text_area": return