all repos — caroster @ 733f817f6e0839de8a601c2f0089aa608f11a982

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

fix: 🐛 Fix bug on car deletion with no user


#277 #278
Simon Mulquin simon@octree.ch
Fri, 01 Apr 2022 07:50:25 +0000
commit

733f817f6e0839de8a601c2f0089aa608f11a982

parent

9f359590899f531edd1ad7be81c01344d86fb9a6

2 files changed, 27 insertions(+), 20 deletions(-)

jump to
M frontend/containers/NewTravelDialog/useActions.tsfrontend/containers/NewTravelDialog/useActions.ts

@@ -8,6 +8,9 @@ useCreateTravelMutation,

TravelInput, FindUserVehiclesDocument, } from '../../generated/graphql'; +import useProfile from '../../hooks/useProfile'; +import {DocumentNode, PureQueryOptions} from '@apollo/client/core'; +import {RefetchQueriesFunction} from '@apollo/client/react/types/types'; interface Props { event: Event;

@@ -19,22 +22,26 @@ const {t} = useTranslation();

const addToast = useToastsStore(s => s.addToast); const {addToEvent} = useAddToEvents(); const [createTravelMutation] = useCreateTravelMutation(); + const {user} = useProfile(); const createTravel = async (travelInput: TravelInput) => { + const refetchQueries: Array<PureQueryOptions> = [ + { + query: EventByUuidDocument, + variables: { + uuid: event.uuid, + }, + }, + ]; + if (user) { + refetchQueries.push({ + query: FindUserVehiclesDocument, + }); + } try { await createTravelMutation({ variables: {travel: travelInput}, - refetchQueries: [ - { - query: EventByUuidDocument, - variables: { - uuid: event.uuid, - }, - }, - { - query: FindUserVehiclesDocument, - }, - ], + refetchQueries, }); addToEvent(event.id); addToast(t('travel.creation.created'));
M frontend/containers/Travel/useActions.tsfrontend/containers/Travel/useActions.ts

@@ -119,16 +119,16 @@ ]),

}, }, }); - await deleteTravelMutation({ - variables: { - id: travel.id, - }, - refetchQueries: [ - {query: EventByUuidDocument, variables: {uuid: event.uuid}}, - ], - }); - addToast(t('travel.actions.removed')); } + await deleteTravelMutation({ + variables: { + id: travel.id, + }, + refetchQueries: [ + {query: EventByUuidDocument, variables: {uuid: event.uuid}}, + ], + }); + addToast(t('travel.actions.removed')); } catch (error) { console.error(error); addToast(t('travel.errors.cant_remove'));