import { isAxiosError } from "axios"; const backendErrorMessage: Record = { "user not found": "Пользователь не найден", "invalid password": "Неправильный пароль", "field is empty": 'Поле "Пароль" не заполнено', "field is empty": 'Поле "Логин" не заполнено', "field is empty": 'Поле "E-mail" не заполнено', "field is empty": 'Поле "Номер телефона" не заполнено', "user with this email or login is exist": "Пользователь уже существует", }; const unknownErrorMessage = "Что-то пошло не так. Повторите попытку позже"; export function getMessageFromFetchError(error: any): string | null { if (process.env.NODE_ENV !== "production") console.error(error); const message = backendErrorMessage[error.response?.data?.message]; if (message) return message; if (error.message === "Failed to fetch") return "Ошибка сети"; if (isAxiosError(error)) { switch (error.code) { case "ERR_NETWORK": return "Ошибка сети"; case "ERR_CANCELED": return null; case "ERR_BAD_REQUEST": return "Слишком много запросов"; } } return unknownErrorMessage; }