import React, { useState } from "react"; import todoApi from "../../api/todoApi"; const TodoForm = ({ onTaskCreated }) => { const [formData, setFormData] = useState({ title: "", description: "", due_date: "", tags: "", }); const [expanded, setExpanded] = useState(false); const handleChange = (e) => { setFormData((prev) => ({ ...prev, [e.target.name]: e.target.value, })); }; const handleSubmit = async (e) => { e.preventDefault(); const tagList = formData.tags.trim() !== "" ? formData.tags.split(",").map((tag) => tag.trim()) : []; try { await todoApi.post("/api/todo/tasks/", { title: formData.title, description: formData.description, due_date: formData.due_date === "" ? null : formData.due_date, tags: tagList, }); setFormData({ title: "", description: "", due_date: "", tags: "" }); setExpanded(false); onTaskCreated(); } catch (err) { console.error("등록 실패:", err.response?.data || err.message); alert("등록 실패: " + JSON.stringify(err.response?.data)); } }; const handleCancel = () => { setFormData({ title: "", description: "", due_date: "", tags: "" }); setExpanded(false); }; return (
setExpanded(true)} onChange={handleChange} placeholder="➕ 작업 추가하기..." required className="w-full px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-300 mb-2" /> {expanded && ( <>