import { isAxiosError } from "axios"; const translateMessage: 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": "Пользователь уже существует", }; export function getMessageFromFetchError(error: any, defaultMessage = "Что-то пошло не так. Повторите попытку позже"): string | null { const rawMessage = error.response?.data?.message; const translatedMessage = translateMessage[rawMessage]; if (translatedMessage) return translatedMessage; if (isAxiosError(error)) { switch (error.code) { case "ERR_NETWORK": return "Ошибка сети"; case "ERR_CANCELED": return null; } } if (process.env.NODE_ENV === "development") return rawMessage ?? error.message ?? defaultMessage; return defaultMessage; }