diff --git a/frontend/src/pages/Tasks.tsx b/frontend/src/pages/Tasks.tsx index cbf4ba0..d069dde 100644 --- a/frontend/src/pages/Tasks.tsx +++ b/frontend/src/pages/Tasks.tsx @@ -18,6 +18,8 @@ interface Task { const Tasks = () => { const [tasks, setTasks] = useState([]); const [newTask, setNewTask] = useState({ title: "", description: "", due_date: "", done: false }); + const [editingTaskId, setEditingTaskId] = useState(null); + const [editedTask, setEditedTask] = useState>({}); const navigate = useNavigate(); const userId = Number(Cookies.get("user_id")) @@ -82,6 +84,31 @@ const Tasks = () => { } }; + const handleEditTask = (task: Task) => { + setEditingTaskId(task.id); + setEditedTask({ + title: task.title, + description: task.description, + due_date: task.due_date + }); + }; + + const handleCancelEdit = () => { + setEditingTaskId(null); + setEditedTask({}); + }; + + const handleSaveEdit = async (taskId: number) => { + try { + const response = await api.patch(`/tasks/${taskId}`, editedTask); + setTasks(tasks.map((t) => (t.id === taskId ? response.data : t))); + setEditingTaskId(null); + setEditedTask({}); + } catch (error) { + console.error("Błąd podczas edycji zadania:", error); + } + }; + return (