"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { SolutionAdmin } from "@/lib/api"; import { Loader2, ChevronDown, ChevronUp } from "lucide-react"; interface SolutionFormProps { initialData?: SolutionAdmin; onSubmit: (data: any) => Promise; isSubmitting: boolean; } const iconOptions = [ { value: "", label: "선택하세요" }, { value: "Monitor", label: "Monitor (모니터링)" }, { value: "Cog", label: "Cog (설정/제어)" }, { value: "Database", label: "Database (데이터)" }, { value: "Cloud", label: "Cloud (클라우드)" }, { value: "Factory", label: "Factory (공장)" }, { value: "Cpu", label: "Cpu (프로세싱)" }, { value: "BarChart3", label: "BarChart3 (차트)" }, { value: "Wifi", label: "Wifi (IoT)" }, { value: "Shield", label: "Shield (보안)" }, { value: "Zap", label: "Zap (자동화)" }, ]; const colorOptions = [ { value: "", label: "선택하세요" }, { value: "blue", label: "파랑" }, { value: "green", label: "초록" }, { value: "purple", label: "보라" }, { value: "orange", label: "주황" }, { value: "red", label: "빨강" }, { value: "cyan", label: "청록" }, { value: "pink", label: "분홍" }, ]; export default function SolutionForm({ initialData, onSubmit, isSubmitting, }: SolutionFormProps) { const router = useRouter(); const [showEnglish, setShowEnglish] = useState(!!initialData?.title_en); const [showJapanese, setShowJapanese] = useState(!!initialData?.title_ja); const [showChinese, setShowChinese] = useState(!!initialData?.title_zh); const [formData, setFormData] = useState({ title_ko: initialData?.title_ko || "", subtitle_ko: initialData?.subtitle_ko || "", description_ko: initialData?.description_ko || "", features_ko: initialData?.features_ko || "", title_en: initialData?.title_en || "", subtitle_en: initialData?.subtitle_en || "", description_en: initialData?.description_en || "", features_en: initialData?.features_en || "", title_ja: initialData?.title_ja || "", subtitle_ja: initialData?.subtitle_ja || "", description_ja: initialData?.description_ja || "", features_ja: initialData?.features_ja || "", title_zh: initialData?.title_zh || "", subtitle_zh: initialData?.subtitle_zh || "", description_zh: initialData?.description_zh || "", features_zh: initialData?.features_zh || "", icon: initialData?.icon || "", color: initialData?.color || "", is_active: initialData?.is_active ?? true, display_order: initialData?.display_order || 0, }); const handleChange = ( e: React.ChangeEvent< HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement > ) => { const { name, value, type } = e.target; setFormData({ ...formData, [name]: type === "checkbox" ? (e.target as HTMLInputElement).checked : type === "number" ? Number(value) : value, }); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); await onSubmit(formData); }; return (
{/* Korean (Required) */}

KO 한국어 (필수)