gitscope
← marzneshin / v0.1.2 / app/dashboard/src/utils/toastHandler.ts
https://dev.kronoz.win/r/marzneshin.git
app/dashboard/src/utils/toastHandler.ts · TypeScript
Blame Raw
 1import { CreateToastFnReturn } from '@chakra-ui/react';
 2import { UseFormReturn } from 'react-hook-form';
 3
 4export const generateErrorMessage = (
 5  e: any,
 6  toast: CreateToastFnReturn,
 7  form?: UseFormReturn<any>
 8) => {
 9  if (e.response && e.response._data) {
10    if (typeof e.response._data.detail === 'string')
11      return toast({
12        title: e.response._data.detail,
13        status: 'error',
14        isClosable: true,
15        position: 'top',
16        duration: 3000,
17      });
18    if (typeof e.response._data.detail === 'object')
19      if (form) {
20        Object.keys(e.response._data.detail).forEach((errorKey) =>
21          form.setError(errorKey, {
22            message: e.response._data.detail[errorKey],
23          })
24        );
25        return;
26      }
27  }
28  return toast({
29    title: 'Something went wrong!',
30    status: 'error',
31    isClosable: true,
32    position: 'top',
33    duration: 3000,
34  });
35};
36
37export const generateSuccessMessage = (
38  message: string,
39  toast: CreateToastFnReturn
40) => {
41  return toast({
42    title: message,
43    status: 'success',
44    isClosable: true,
45    position: 'top',
46    duration: 3000,
47  });
48};