@alauda/doom
Version:
Doctor Doom making docs.
23 lines (22 loc) • 903 B
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useMemo } from 'react';
import AlertIcon from '@alauda/doom/assets/alert.svg?react';
import { useTranslation } from '@alauda/doom/runtime';
export const ApiErrorAlert = ({ error }) => {
const t = useTranslation();
const message = useMemo(() => {
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
if (!error.response) {
return t('ERR_INTERNET_DISCONNECTED');
}
const reason = error.data?.reason;
const message = error.data?.message || error.message;
try {
return reason ? t(reason) || reason : message;
}
catch {
return message;
}
}, [error, t]);
return (_jsxs("div", { className: "api-error-alert", children: [_jsx(AlertIcon, { className: "api-error-alert__icon" }), message] }));
};