This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
website/src/features/ErrorPage/ErrorPage.tsx

49 lines
1.2 KiB
TypeScript
Raw Normal View History

import { NextPage } from 'next';
import { ErrorProps } from 'next/error';
import { Box, Typography } from '@material-ui/core';
import Layout from 'common/Layout/Layout';
import Section from 'common/Section/Section';
2021-04-24 16:39:03 +00:00
import Seo from 'common/Seo/Seo';
const getTitleForStatusCode = (statusCode: number): string => {
switch (statusCode) {
case 404:
return 'Nie znaleziono strony';
default:
return 'Wewnętrzny błąd serwera';
}
};
2022-09-25 10:55:36 +00:00
const ErrorPage: NextPage<ErrorProps> = ({ statusCode, title }) => {
const _title = title ?? getTitleForStatusCode(statusCode);
2021-11-04 08:23:45 +00:00
return (
<Layout>
2021-04-24 16:39:03 +00:00
<Seo title={_title} />
<Box
minHeight="80vh"
display="flex"
alignItems="center"
justifyContent="center"
textAlign="center"
>
<Section>
<Typography variant="h1">
<strong>{statusCode}</strong>
</Typography>
<Typography variant="h2">{_title}</Typography>
</Section>
</Box>
</Layout>
);
};
2022-09-25 10:55:36 +00:00
ErrorPage.getInitialProps = async ({ res, err }) => {
return {
2021-11-04 08:23:45 +00:00
statusCode: (res ? res.statusCode : err?.statusCode) ?? 404,
};
};
export default ErrorPage;