From d99b94be553da58ee44e2f4e80935c0fbb8abfd6 Mon Sep 17 00:00:00 2001 From: Romulus21 Date: Mon, 19 Feb 2024 08:29:56 +0100 Subject: [PATCH] fix some lint errors --- app/Http/Controllers/ToDoController.php | 1 + resources/js/components/toDos/ToDoStore.tsx | 2 +- resources/js/hooks/AuthUser.tsx | 6 +++--- resources/js/hooks/AxiosTools.tsx | 14 ++++++------ resources/js/pages/ToDos/ToDoShow.tsx | 24 ++++++++------------- resources/js/utilities/customProperties.ts | 1 + resources/js/utilities/form.ts | 20 +++++++++++++---- 7 files changed, 39 insertions(+), 29 deletions(-) diff --git a/app/Http/Controllers/ToDoController.php b/app/Http/Controllers/ToDoController.php index a7765ac..2321c1d 100644 --- a/app/Http/Controllers/ToDoController.php +++ b/app/Http/Controllers/ToDoController.php @@ -44,6 +44,7 @@ class ToDoController extends Controller */ public function update(ToDoRequest $request, ToDo $todo) { + abort(501, "xoxo"); $data = $request->validated(); $data['checked'] = $request->input('checked') ? now() : null; $todo->update($data); diff --git a/resources/js/components/toDos/ToDoStore.tsx b/resources/js/components/toDos/ToDoStore.tsx index 3026531..d9b04c4 100644 --- a/resources/js/components/toDos/ToDoStore.tsx +++ b/resources/js/components/toDos/ToDoStore.tsx @@ -21,7 +21,7 @@ const ToDoStore: FC = ({setReload}) => { return <> {errorLabel()}
- { try { const res = await axios.get('/api/user') setAuthUser(res.data) - } catch (e) { - // @ts-ignore - if (e.response.status === 401) { + } catch (error) { + // @ts-expect-error 401 error to redirect + if (error.response.status === 401) { console.info('no user login') if (!['/connexion', '/inscription'].includes(window.location.pathname)) { window.location.href = '/connexion' diff --git a/resources/js/hooks/AxiosTools.tsx b/resources/js/hooks/AxiosTools.tsx index f36d175..f26f837 100644 --- a/resources/js/hooks/AxiosTools.tsx +++ b/resources/js/hooks/AxiosTools.tsx @@ -1,5 +1,5 @@ import React, {useState} from "react" -import axios from "axios" +import axios, {AxiosError} from "axios" import {cleanErrorsForm, displayFormErrors} from "../utilities/form" const useAxiosTools = (isLoading = false) => { @@ -12,11 +12,13 @@ const useAxiosTools = (isLoading = false) => { const axiosPut = axios.put const axiosDelete = axios.delete - const errorCatch = (error: any) => { - if (error.response && error.response.status === 422) { - displayFormErrors(error) - } else { - setError(error.response?.data.message || error.message) + const errorCatch = (error: Error|AxiosError|unknown) => { + if (axios.isAxiosError(error)) { + (error.response?.status === 422) + ? displayFormErrors(error) + : setError(error.response?.data.message || error.message) + } else if (error instanceof Error) { + setError(error.message) } } diff --git a/resources/js/pages/ToDos/ToDoShow.tsx b/resources/js/pages/ToDos/ToDoShow.tsx index 5603636..a6be547 100644 --- a/resources/js/pages/ToDos/ToDoShow.tsx +++ b/resources/js/pages/ToDos/ToDoShow.tsx @@ -10,8 +10,9 @@ 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) - const [editForm, setEditForm] = useState(null) useEffect(() => { fetchToDo() @@ -29,29 +30,26 @@ const ToDoShow = () => { } const handleEditTodoMode = async () => { - if (editMode) { + if (editMode && toDo) { try { - const res = await axiosPut('/api/todos/' + id, editForm) + const res = await axiosPut('/api/todos/' + id, {...toDo, name, description}) setToDo(res.data) } catch (error) { errorCatch(error) } } else { - setEditForm(toDo) + setName(toDo?.name ?? '') + setDescription(toDo?.description ?? '') } setEditMode(!editMode) } - const handleEditTodo = (event: React.ChangeEvent) => { - setEditForm({...editForm, [event.target.name]: event.target.value}) - } - return
{errorLabel()} {editMode ? <> - -