import React, { useState } from 'react'; import Dialog from '@mui/material/Dialog'; import DialogTitle from '@mui/material/DialogTitle'; import DialogContent from '@mui/material/DialogContent'; import DialogActions from '@mui/material/DialogActions'; import TextField from '@mui/material/TextField'; import Button from '@mui/material/Button'; import Box from '@mui/material/Box'; import api from '../../api'; export default function CreateProjectDialog({ open, onClose, onCreated }) { const [code, setCode] = useState(''); const [name, setName] = useState(''); const [client, setClient] = useState(''); const [submitting, setSubmitting] = useState(false); const handleSubmit = async () => { if (!code.trim() || !name.trim()) return; setSubmitting(true); try { await api.post('/dashboard/projects', null, { params: { official_project_code: code.trim(), project_name: name.trim(), client_name: client.trim() || undefined, }, }); setCode(''); setName(''); setClient(''); onCreated?.(); onClose(); } catch (err) { alert(err.response?.data?.detail || '프로젝트 생성 실패'); } finally { setSubmitting(false); } }; return ( 프로젝트 생성 setCode(e.target.value)} size="small" required fullWidth /> setName(e.target.value)} size="small" required fullWidth /> setClient(e.target.value)} size="small" fullWidth /> ); }