41 lines
954 B
JavaScript
41 lines
954 B
JavaScript
/* eslint-disable sonarjs/no-small-switch */
|
|
import { Button, Result } from 'ui/elements';
|
|
|
|
function handleRetry() {
|
|
window.location.reload();
|
|
}
|
|
|
|
const RetryButton = <Button onClick={handleRetry}>Попробовать еще раз</Button>;
|
|
|
|
const SupportButton = (
|
|
<Button rel="noopener" target="_blank" href="https://help.evoleasing.ru">
|
|
Обратиться в поддержку
|
|
</Button>
|
|
);
|
|
|
|
export function CRMError({ error }) {
|
|
return (
|
|
<Result
|
|
status="500"
|
|
title="CRM не отвечает. Попробуйте позже."
|
|
subTitle={`${error || ''}`}
|
|
extra={RetryButton}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export function Forbidden() {
|
|
return <Result status="403" title="Доступ запрещен" extra={SupportButton} />;
|
|
}
|
|
|
|
export function Error({ statusCode, ...props }) {
|
|
switch (statusCode) {
|
|
case 403: {
|
|
return <Forbidden />;
|
|
}
|
|
default: {
|
|
return <CRMError {...props} />;
|
|
}
|
|
}
|
|
}
|