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};