diff --git a/src/components/task-form.tsx b/src/components/task-form.tsx index 9c33b68..1a86887 100644 --- a/src/components/task-form.tsx +++ b/src/components/task-form.tsx @@ -15,7 +15,6 @@ export function TaskForm({ tasks, setTasks, setExpanded }: { tasks: TodoTasks, s status: data.status as TaskStatus, }; - if (data.insert) { setTasks([newTask, ...tasks]); } else { diff --git a/src/components/task-row.tsx b/src/components/task-row.tsx index 0106306..e37e529 100644 --- a/src/components/task-row.tsx +++ b/src/components/task-row.tsx @@ -2,11 +2,24 @@ import { useState } from 'react' import { taskTypes, taskStatuses } from './consts'; import { EnumSelect } from './enum-select'; -export function TaskRow({ task }: { task: TodoTask, updateTask: (task: TodoTask) => void }): JSX.Element { +export function TaskRow({ task, updateTask }: { task: TodoTask, updateTask: (task: TodoTask) => void }): JSX.Element { const [edit, setEdit] = useState(false); return ( -
+
{ + event.preventDefault(); + + const data = Object.fromEntries(new FormData(event.currentTarget)); + + updateTask({ + id: task.id, + type: data.type as TaskType, + title: data.title as string, + status: data.status as TaskStatus, + }); + + setEdit(false) + }}>
{edit ? @@ -26,29 +39,28 @@ export function TaskRow({ task }: { task: TodoTask, updateTask: (task: TodoTask)
{edit ? <> - - : <> - - - } + }
-
+ ); } \ No newline at end of file diff --git a/src/components/task-table.tsx b/src/components/task-table.tsx index fdf3db5..9451cab 100644 --- a/src/components/task-table.tsx +++ b/src/components/task-table.tsx @@ -1,7 +1,7 @@ import { } from 'react' import { TaskRow } from './task-row'; -export function TaskTable({ tasks }: { tasks: TodoTasks }): JSX.Element { +export function TaskTable({ tasks, updateTask }: { tasks: TodoTasks, updateTask: (task: TodoTask) => void }): JSX.Element { return (
@@ -10,7 +10,7 @@ export function TaskTable({ tasks }: { tasks: TodoTasks }): JSX.Element {
Statusas
Veiksmai
- {tasks.map(task => { }} />)} + {tasks.map(task => )}
); } diff --git a/src/routes/list.tsx b/src/routes/list.tsx index 71c0e63..0276517 100644 --- a/src/routes/list.tsx +++ b/src/routes/list.tsx @@ -32,7 +32,10 @@ function App() { return ( <> handleAccordion(0)}> - + { + const index = tasks.findIndex(t => t.id == updated.id); + setTasks([...tasks.slice(0, index), updated, ...tasks.slice(index + 1)]); + }} /> handleAccordion(1)}>