fix error messages not displaying toasts sometimes, add axios error interceptors

This commit is contained in:
Amruth Pillai
2023-01-18 21:36:05 +01:00
parent c9850b5815
commit 5024c19f87
8 changed files with 32 additions and 41 deletions

View File

@ -1,6 +1,7 @@
import env from '@beam-australia/react-env';
import _axios, { RawAxiosRequestHeaders } from 'axios';
import _axios, { AxiosError, RawAxiosRequestHeaders } from 'axios';
import Router from 'next/router';
import { toast } from 'react-hot-toast';
import { logout } from '@/store/auth/authSlice';
@ -29,12 +30,15 @@ axios.interceptors.request.use((config) => {
axios.interceptors.response.use(
(response) => response,
(error) => {
(error: AxiosError<ServerError>) => {
const { response } = error;
if (response) {
const errorObject: ServerError = response.data;
const errorObject = response.data;
const code = errorObject.statusCode;
const message = errorObject.message;
toast.error(message);
if (code === 401 || code === 404) {
store.dispatch(logout());