1
0
mirror of https://github.com/Sonarr/Sonarr.git synced 2026-04-23 22:25:56 -04:00
Files
Sonarr/frontend/src/Components/Page/ErrorPage.tsx
T
2025-02-11 19:34:34 -08:00

85 lines
2.1 KiB
TypeScript

import React from 'react';
import { Error } from 'App/State/AppSectionState';
import getErrorMessage from 'Utilities/Object/getErrorMessage';
import translate from 'Utilities/String/translate';
import styles from './ErrorPage.css';
interface ErrorPageProps {
version: string;
isLocalStorageSupported: boolean;
translationsError?: Error;
seriesError?: Error;
customFiltersError?: Error;
tagsError?: Error;
qualityProfilesError?: Error;
uiSettingsError?: Error;
systemStatusError?: Error;
}
function ErrorPage(props: ErrorPageProps) {
const {
version,
isLocalStorageSupported,
translationsError,
seriesError,
customFiltersError,
tagsError,
qualityProfilesError,
uiSettingsError,
systemStatusError,
} = props;
let errorMessage = translate('FailedToLoadSonarr');
if (!isLocalStorageSupported) {
errorMessage = translate('LocalStorageIsNotSupported');
} else if (translationsError) {
errorMessage = getErrorMessage(
translationsError,
translate('FailedToLoadTranslationsFromApi')
);
} else if (seriesError) {
errorMessage = getErrorMessage(
seriesError,
translate('FailedToLoadSeriesFromApi')
);
} else if (customFiltersError) {
errorMessage = getErrorMessage(
customFiltersError,
translate('FailedToLoadCustomFiltersFromApi')
);
} else if (tagsError) {
errorMessage = getErrorMessage(
tagsError,
translate('FailedToLoadTagsFromApi')
);
} else if (qualityProfilesError) {
errorMessage = getErrorMessage(
qualityProfilesError,
translate('FailedToLoadQualityProfilesFromApi')
);
} else if (uiSettingsError) {
errorMessage = getErrorMessage(
uiSettingsError,
translate('FailedToLoadUiSettingsFromApi')
);
} else if (systemStatusError) {
errorMessage = getErrorMessage(
systemStatusError,
translate('FailedToLoadSystemStatusFromApi')
);
}
return (
<div className={styles.page}>
<div>{errorMessage}</div>
<div className={styles.version}>
{translate('VersionNumber', { version })}
</div>
</div>
);
}
export default ErrorPage;