41 lines
1023 B
JavaScript
41 lines
1023 B
JavaScript
/* eslint-disable sonarjs/no-small-switch */
|
|
import Button from 'ui/elements/Button';
|
|
import Result from 'ui/elements/Result';
|
|
|
|
function handleRetry() {
|
|
window.location.reload();
|
|
}
|
|
|
|
function openSupport() {
|
|
window.open('https://help.evoleasing.ru', '_blank').focus();
|
|
}
|
|
|
|
const RetryButton = <Button action={handleRetry} text="Попробовать еще раз" />;
|
|
const SupportButton = <Button action={openSupport} text="Обратиться в поддержку" />;
|
|
|
|
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} />;
|
|
}
|
|
}
|
|
}
|