lbry-desktop/ui/component/syncFatalError/view.jsx

52 lines
1.5 KiB
React
Raw Normal View History

// @flow
import * as ICONS from 'constants/icons';
import React from 'react';
import Button from 'component/button';
import Yrbl from 'component/yrbl';
import { SITE_HELP_EMAIL } from 'config';
2021-03-15 20:47:48 +01:00
// @if TARGET='web'
import { STATUS_DEGRADED, STATUS_FAILING, STATUS_DOWN } from 'web/effects/use-degraded-performance';
// @endif
type Props = {
lbryTvApiStatus: string,
};
export default function SyncFatalError(props: Props) {
const { lbryTvApiStatus } = props;
2021-03-15 20:47:48 +01:00
let downTime = false;
// @if TARGET='web'
downTime =
IS_WEB &&
(lbryTvApiStatus === STATUS_DEGRADED || lbryTvApiStatus === STATUS_FAILING || lbryTvApiStatus === STATUS_DOWN);
2021-03-15 20:47:48 +01:00
// @endif
return (
<div className="main--empty">
<Yrbl
title={downTime ? __('Under maintenance...') : __('There is a bug... somewhere')}
subtitle={
<p>
{downTime
? __("We're currently upgrading or rebooting our services, please try refreshing in a few minutes.")
: __("Try refreshing to fix the issue. If that doesn't work, email %SITE_HELP_EMAIL% for support.", {
SITE_HELP_EMAIL,
})}
</p>
}
actions={
<div className="section__actions">
<Button
button="primary"
icon={ICONS.REFRESH}
label={__('Refresh')}
onClick={() => window.location.reload()}
/>
</div>
}
/>
</div>
);
}