'use client'; import { useEffect, useState } from 'react'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Textarea } from '@/components/ui/textarea'; import { DatePicker } from '@/components/ui/date-picker'; import { format } from 'date-fns'; import { getCompanyAutoFill } from './form-actions'; import type { OfficialDocumentData } from './types'; interface OfficialDocumentFormProps { data: OfficialDocumentData; onChange: (data: OfficialDocumentData) => void; } export function OfficialDocumentForm({ data, onChange }: OfficialDocumentFormProps) { const [isLoadingCompany, setIsLoadingCompany] = useState(false); // 회사 정보 자동입력 useEffect(() => { async function loadCompanyInfo() { setIsLoadingCompany(true); const result = await getCompanyAutoFill(); if (result.success && result.data) { onChange({ ...data, documentDate: data.documentDate || format(new Date(), 'yyyy-MM-dd'), companyName: data.companyName || result.data.companyName, representativeName: data.representativeName || result.data.representativeName, address: data.address || result.data.address, phone: data.phone || result.data.phone, fax: data.fax || result.data.fax, email: data.email || result.data.email, }); } setIsLoadingCompany(false); } if (!data.companyName) { loadCompanyInfo(); } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return (