diff --git a/src/redux/overlays/overlays.thunks.ts b/src/redux/overlays/overlays.thunks.ts index 5a685bc8f5f5ab1140d28411895fd7f9a7cb3d8c..389da3066415557b1c8f02aa7ec6395cf9ff3172 100644 --- a/src/redux/overlays/overlays.thunks.ts +++ b/src/redux/overlays/overlays.thunks.ts @@ -15,6 +15,7 @@ import { showToast } from '@/utils/showToast'; import { ThunkConfig } from '@/types/store'; import { BASE_API_URL } from '@/constants'; import { getError } from '@/utils/error-report/getError'; +import axios from 'axios'; import { apiPath } from '../apiPath'; import { CHUNK_SIZE, @@ -221,7 +222,12 @@ export const addOverlay = createAsyncThunk<undefined, AddOverlayArgs, ThunkConfi showToast({ type: 'success', message: USER_OVERLAY_ADD_SUCCESS_MESSAGE }); } catch (error) { - return Promise.reject(getError({ error, prefix: USER_OVERLAY_ADD_ERROR_PREFIX })); + if (axios.isAxiosError(error) && error.code === 'ERR_BAD_REQUEST') { + const data = error.response?.data; + showToast({ type: 'error', message: data.reason, duration: 120000 }); + } else { + return Promise.reject(getError({ error, prefix: USER_OVERLAY_ADD_ERROR_PREFIX })); + } } }, ); diff --git a/src/shared/Toast/Toast.component.tsx b/src/shared/Toast/Toast.component.tsx index 02e1d965aa9bfc79143337d7ac11254cc6059f8c..a311fa5713af686010bbefd63faaace2f4377790 100644 --- a/src/shared/Toast/Toast.component.tsx +++ b/src/shared/Toast/Toast.component.tsx @@ -16,7 +16,7 @@ export const Toast = ({ type, message, onDismiss }: ToastArgs): React.ReactNode > <p className={twMerge( - 'text-base font-bold ', + 'h-full overflow-y-auto text-base font-bold', type === 'error' ? 'text-red-500' : 'text-green-500', )} >