all repos — caroster @ 1612fe42101ebc0ab86492e9e6c0ceed14c878d1

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

frontend/containers/Alerts/useCreateTripAlert.tsx (view raw)

 1import {useCallback} from 'react';
 2import {
 3  SetTripAlertMutationVariables,
 4  useSetTripAlertMutation,
 5} from '../../generated/graphql';
 6import {useTranslation} from 'next-i18next';
 7import useToastStore from '../../stores/useToastStore';
 8
 9const useCreateTripAlert = () => {
10  const {t} = useTranslation();
11  const addToast = useToastStore(s => s.addToast);
12  const [setTripAlertMutation] = useSetTripAlertMutation();
13
14  const handleCreateTripAlert = useCallback(
15    async (variables: SetTripAlertMutationVariables) => {
16      try {
17        await setTripAlertMutation({
18          variables,
19        });
20        addToast(t('alert.create'));
21      } catch (error) {
22        addToast(t('alert.errors.cant_create'));
23        console.error(error);
24      }
25    },
26    [addToast, setTripAlertMutation]
27  );
28
29  return handleCreateTripAlert;
30};
31
32export default useCreateTripAlert;