diff --git a/resources/js/components/SVG.tsx b/resources/js/components/SVG.tsx index e704bca..26bbbab 100644 --- a/resources/js/components/SVG.tsx +++ b/resources/js/components/SVG.tsx @@ -29,6 +29,26 @@ export const EditSVG: FC> = (props) => SVGSkeleton({ ...props }) +export const LoaderSVG: FC> = (props) => SVGSkeleton({ + viewBox: "0 0 38 38", + stroke: props.color ?? "#000", + paths: + + + + + + + , + ...props +}) + export const PauseSVG: FC> = (props) => SVGSkeleton({ paths: , ...props diff --git a/resources/js/components/toDos/ToDoFinish.tsx b/resources/js/components/toDos/ToDoFinish.tsx index 9cdaf14..9f3a8fa 100644 --- a/resources/js/components/toDos/ToDoFinish.tsx +++ b/resources/js/components/toDos/ToDoFinish.tsx @@ -1,12 +1,12 @@ import React, {FC, useEffect, useState} from "react" import useAxiosTools from "../../hooks/AxiosTools" import {toDo} from "../../utilities/types" -import {PlaySVG} from "../SVG" +import {LoaderSVG, PlaySVG} from "../SVG" const ToDoFinish: FC = ({reload}) => { const [showTodos, setShowTodos] = useState(false) - const {loading, setLoading, errorCatch, errorLabel, axiosGet} = useAxiosTools(true) + const {loading, setLoading, errorCatch, errorLabel, axiosGet} = useAxiosTools() const [toDos, setToDos] = useState([]) useEffect(() => { @@ -26,6 +26,7 @@ const ToDoFinish: FC = ({reload}) => { const fetchFinishToDos = async () => { try { + setLoading(true) const res = await axiosGet('api/todos/finished') setToDos(res.data) } catch (error) { @@ -38,18 +39,22 @@ const ToDoFinish: FC = ({reload}) => { return
{errorLabel()} {showTodos &&
    - {toDos.map(toDo =>
  • - {toDo.checked ? (new Date(toDo.checked)).toSmallFrDate() : ''} - {toDo.name} - {toDo.duration.durationify()} - -
  • )} + {toDos.length === 0 &&
  • Aucun contenu a disponible
  • } + {toDos.map(toDo =>
  • + {toDo.checked ? (new Date(toDo.checked)).toSmallFrDate() : ''} + {toDo.name} + {toDo.duration.durationify()} +
  • )}
}
} diff --git a/resources/js/pages/TimeTrackersIndex.tsx b/resources/js/pages/TimeTrackersIndex.tsx index 34bbdf9..4f1b65e 100644 --- a/resources/js/pages/TimeTrackersIndex.tsx +++ b/resources/js/pages/TimeTrackersIndex.tsx @@ -1,7 +1,7 @@ import React, {useEffect, useState} from "react" import useAxiosTools from "../hooks/AxiosTools" import {timeTracker} from "../utilities/types" -import {EditSVG, PlaySVG} from "../components/SVG" +import {EditSVG, LoaderSVG, PlaySVG} from "../components/SVG" import useTracker from "../hooks/TraskerHook" import {Modal} from "../components/Modals" import TimeTrackerEdit from "../components/TimeTrackers/TimeTrackerEdit" @@ -38,6 +38,8 @@ const TimeTrackersIndex = () => { return
{errorLabel()}
    + {loading && } + {timeTrackers.length === 0 &&
  • Aucun contenu a disponible
  • } {timeTrackers.map(tracker =>
  • {tracker.start_at ? (new Date(tracker.start_at)).toSmallFrDate() : ''} {(new Date(tracker.end_at)).toSmallFrDate()}