import clsx from 'clsx'; import { ZodError } from 'zod'; import { type AxiosError, isAxiosError } from '@/backend/api-transport'; import { isResponseHtml } from '@/utils/utils'; import { PrettyJson } from './view'; export type ErrorData = string | Error | AxiosError | ZodError; interface InfoErrorProps { error: ErrorData; } export function DescribeError({ error }: { error: ErrorData }) { if (!error) { return
Ошибки отсутствуют
; } else if (typeof error === 'string') { return{error}
; } else if (error instanceof ZodError) { return (Ошибка валидации данных
Error: {error.name}
Message: {error.message}
{error.stack &&{error.stack}}
Нет ответа от сервера
; } if (error.response.status === 404) { return ({'Обращение к несуществующему API'}
{'Соединение с сервером потеряно. Перезагрузите страницу'}
Ошибка
{error.message}
{error.response.data && ( <>Описание
{isHtml ? : null} {!isHtml ?Пожалуйста сделайте скриншот и отправьте вместе с описанием ситуации на почту portal@acconcept.ru
Для продолжения работы перезагрузите страницу