/** * Copyright (C) 2019-2021 Carl Kittelberger * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ import { NextPage } from 'next'; import { ErrorProps } from 'next/error'; import Head from 'next/head'; import * as React from 'react'; import { useIntl } from 'react-intl'; const Error: NextPage = function Error({ statusCode, title, }) { const intl = useIntl(); return (
{`${title} – ${intl.formatMessage({ id: 'App.title', description: 'The full title of the website', defaultMessage: 'Games Done Quick Instant Archive', })}`}

{statusCode} {' '} {title}

); }; Error.getInitialProps = (ctx) => { const { res, err } = ctx; // eslint-disable-next-line no-nested-ternary const statusCode = res ? res.statusCode : (err ? err.statusCode : 404); // eslint-disable-next-line no-nested-ternary const title = res ? res.statusMessage : (err ? err.message : 'Page not found'); return { statusCode, title }; }; export default Error;