all repos — caroster @ 50c371504df1ebada58e03e4a29205cb108057f3

[Octree] Group carpool to your event https://caroster.io

🐛 Fix bug on travel update

#247
Tim Izzo tim@octree.ch
Mon, 07 Feb 2022 15:50:36 +0100
commit

50c371504df1ebada58e03e4a29205cb108057f3

parent

535c63f081f0a6a98429277c875b9f475802e4af

2 files changed, 13 insertions(+), 21 deletions(-)

jump to
M frontend/containers/Travel/HeaderEditing.tsxfrontend/containers/Travel/HeaderEditing.tsx

@@ -9,30 +9,18 @@ import Slider from '@material-ui/core/Slider';

import {DatePicker, TimePicker} from '@material-ui/pickers'; import moment from 'moment'; import {useTranslation} from 'react-i18next'; -import useToastStore from '../../stores/useToastStore'; -import useEventStore from '../../stores/useEventStore'; import RemoveDialog from '../RemoveDialog'; -import { - useUpdateEventMutation, - useDeleteTravelMutation, -} from '../../generated/graphql'; import useActions from './useActions'; const HeaderEditing = ({travel, toggleEditing}) => { const classes = useStyles(); const {t} = useTranslation(); - const event = useEventStore(s => s.event); - const addToast = useToastStore(s => s.addToast); const actions = useActions({travel}); - const [updateEvent] = useUpdateEventMutation(); - const [deleteTravel] = useDeleteTravelMutation({ - refetchQueries: ['eventByUUID'], - }); const [removing, toggleRemoving] = useReducer(i => !i, false); - const dateMoment = useMemo(() => { - if (!travel?.departure) return moment(); - else return moment(travel.departure); - }, [travel?.departure]); + const dateMoment = useMemo( + () => (travel?.departure ? moment(travel.departure) : moment()), + [travel?.departure] + ); // States const [name, setName] = useState(travel?.vehicle?.name ?? '');
M frontend/containers/Travel/useActions.tsfrontend/containers/Travel/useActions.ts

@@ -38,9 +38,11 @@ const existingPassengers =

travel.passengers?.map(({__typename, user, ...item}) => user && user.id ? {...item, user: user.id} : item ) || []; - const waitingList = [...event.waitingList, removedPassenger].map( - ({__typename, user, ...item}) => - user && user.id ? {...item, user: user.id} : item + const waitingList = [ + ...event.waitingList, + removedPassenger, + ].map(({__typename, user, ...item}) => + user && user.id ? {...item, user: user.id} : item ); const passengers = existingPassengers.filter( item => item.id !== passengerId

@@ -100,6 +102,8 @@ variables: {

id: travel.id, travelUpdate: { departure, + meeting: update.travel.meeting, + details: update.travel.details, passengers: formatPassengers( travel.passengers, travel.vehicle?.seats

@@ -115,7 +119,7 @@ },

}); } catch (error) { console.error(error); - addToast('travel.errors.cant_update'); + addToast(t('travel.errors.cant_update')); } return false; };

@@ -147,7 +151,7 @@ });

addToast(t('travel.actions.removed')); } catch (error) { console.error(error); - addToast('travel.errors.cant_remove'); + addToast(t('travel.errors.cant_remove')); } };