import React, {FC, useEffect, useState} from "react" import {useParams} from "react-router-dom" import useAxiosTools from "../../hooks/AxiosTools" import {timeTracker, toDo} from "../../utilities/types" import {EditSVG} from "../../components/SVG" import Field, {TextArea} from "../../components/Field" import TimeTrackerEdit from "../../components/TimeTrackers/TimeTrackerEdit" import {Modal} from "../../components/Modals" const ToDoShow = () => { const {id} = useParams() const {setLoading, errorCatch, errorLabel, axiosGet, axiosPut} = useAxiosTools(true) const [toDo, setToDo] = useState(null) const [name, setName] = useState('') const [description, setDescription] = useState('') const [editMode, setEditMode] = useState(false) useEffect(() => { fetchToDo() }, []) const fetchToDo = async () => { try { const res = await axiosGet('/api/todos/' + id) setToDo(res.data) } catch (error) { errorCatch(error) } finally { setLoading(false) } } const handleEditTodoMode = async () => { if (editMode && toDo) { try { // @ts-expect-error remove checked for update item content delete toDo['checked'] const res = await axiosPut('/api/todos/' + id, {...toDo, name, description}) setToDo(res.data) } catch (error) { errorCatch(error) } } else { setName(toDo?.name ?? '') setDescription(toDo?.description ?? '') } setEditMode(!editMode) } return
{errorLabel()} {editMode ? <> setName(event.target.value)} />