26 lines
536 B
TypeScript
26 lines
536 B
TypeScript
import { AxiosError } from 'axios'
|
|||
import i18next from 'i18next'
|
|||
import { toast } from 'sonner'
|
|||
|
|||
export function handleServerError(error: unknown) {
|
|||
// eslint-disable-next-line no-console
|
|||
console.log(error)
|
|||
|
|||
let errMsg = i18next.t('Something went wrong!')
|
|||
|
|||
if (
|
|||
error &&
|
|||
typeof error === 'object' &&
|
|||
'status' in error &&
|
|||
Number(error.status) === 204
|
|||
) {
|
|||
errMsg = i18next.t('Content not found.')
|
|||
}
|
|||
|
|||
if (error instanceof AxiosError) {
|
|||
errMsg = error.response?.data.title
|
|||
}
|
|||
|
|||
toast.error(errMsg)
|
|||
}
|