import type {AxiosError, AxiosResponse} from 'axios' import type {MessageInstance, MessageType} from 'antd/lib/message/interface' import {t} from 'ttag' export function showErrorAPI(e: AxiosError, messageApi: MessageInstance): MessageType | undefined { const response = e.response as AxiosResponse const data = response.data if ('message' in data) { return messageApi.error(data.message as string) } if (!('detail' in data)) return const detail = data.detail as string if (response.status === 429) { const duration = response.headers['retry-after'] return messageApi.error(t`Please retry after ${duration} seconds`) } if (response.status.toString()[0] === '4') { return messageApi.warning(detail !== '' ? detail : t`An error occurred`) } return messageApi.error(detail !== '' ? detail : t`An error occurred`) }