import { isAxiosError } from 'axios'

export function getApiErrorMessage(error: unknown): string | null {
  if (!error) return null

  if (isAxiosError(error)) {
    if (error.response?.data?.error && typeof error.response.data.error === 'string') {
      return error.response.data.error
    }
    if (!error.response) {
      return 'Нет соединения с сервером. Проверьте подключение к интернету.'
    }
    if (error.response.status >= 500) {
      return 'Произошла ошибка. Попробуйте повторить позже.'
    }
  }

  if (error instanceof Error) {
    return error.message
  }

  return 'Произошла неизвестная ошибка'
}
