From ef41643b53aa3cf31c093eb200293760d51fa8f1 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Mon, 24 Feb 2025 18:50:46 -0600 Subject: [PATCH] fixing logbook date sort --- app/README.md | 3 - app/src/components/logForm/LogForm.tsx | 115 +++++++++++-------------- app/src/components/logbook/Logbook.tsx | 3 + 3 files changed, 51 insertions(+), 70 deletions(-) diff --git a/app/README.md b/app/README.md index 69ebab8..e69de29 100644 --- a/app/README.md +++ b/app/README.md @@ -1,3 +0,0 @@ -# Flying - -A pilot's logbook for tracking flight hours. \ No newline at end of file diff --git a/app/src/components/logForm/LogForm.tsx b/app/src/components/logForm/LogForm.tsx index 9244600..59c38e8 100644 --- a/app/src/components/logForm/LogForm.tsx +++ b/app/src/components/logForm/LogForm.tsx @@ -186,81 +186,62 @@ const LogForm: React.FC = ({ )} - {!FormMode.VIEW && - <> - - Pilot * - - - { - useEffect(() => { - if (value) { - const pilot = pilots?.find((pilot) => pilot.id === value); + + Pilot * + + + { + useEffect(() => { + if (value && mode !== FormMode.ADD) { + const pilot = pilots?.find((pilot) => pilot.id === value); - dispatch({ - type: 'SET_SELECTED_ENTRY_PILOT_NAME', - payload: pilot.name - }); - } - }, [value]); + dispatch({ + type: 'SET_SELECTED_ENTRY_PILOT_NAME', + payload: pilot.name + }); + } + }, [value]); - return ( - <> - {mode === FormMode.ADD && ( - { + const pilot = pilots?.find( + (pilot) => (pilot.id = event.target.value) + ); - if (pilot) { - methods.setValue('pilotName', pilot.name); - } + if (pilot) { + methods.setValue('pilotName', pilot.name); + } - methods.setValue('pilotId', event.target.value); - }} - options={ - state.pilotOptions && state.pilotOptions.length > 0 - ? state.pilotOptions - : [] - } - value={value} - /> - )} - - ); - }} - /> - - - } - {FormMode.VIEW && - <> - - Pilot * - - - { - return ( + methods.setValue('pilotId', event.target.value); + }} + options={ + state.pilotOptions && state.pilotOptions.length > 0 + ? state.pilotOptions + : [] + } + value={value} + /> + )} + {mode !== FormMode.ADD && ( - ) - }} - /> - - - } + )} + + ); + }} + /> + Date * diff --git a/app/src/components/logbook/Logbook.tsx b/app/src/components/logbook/Logbook.tsx index 19a47f5..0b28525 100644 --- a/app/src/components/logbook/Logbook.tsx +++ b/app/src/components/logbook/Logbook.tsx @@ -32,6 +32,9 @@ const Logbook: React.FC = () => { dispatch({ type: 'SET_IS_LOADING', payload: true }); const response: AxiosResponse = await httpClient.get(`api/logs`); + const entries: ILogbookEntry[] = response.data; + + entries.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()) if (response.data.length > 0) { dispatch({ type: 'SET_ENTRIES', payload: response.data });