import { getLayout } from '@components/Layouts/Layout'; import PostHeader from '@components/PostHeader/PostHeader'; import styles from '@styles/pages/Page.module.scss'; import { NextPageWithLayout } from '@ts/types/app'; import { settings } from '@utils/config'; import { getIntlInstance, loadTranslation } from '@utils/helpers/i18n'; import { GetStaticProps, GetStaticPropsContext } from 'next'; import Head from 'next/head'; import Link from 'next/link'; import { FormattedMessage, useIntl } from 'react-intl'; const Error404: NextPageWithLayout = () => { const intl = useIntl(); const pageTitle = intl.formatMessage( { defaultMessage: 'Error 404: Page not found - {websiteName}', description: '404Page: SEO - Page title', }, { websiteName: settings.name } ); const pageDescription = intl.formatMessage({ defaultMessage: 'Page not found.', description: '404Page: SEO - Meta description', }); return ( <> {pageTitle}
( {chunks} ), }} />
); }; Error404.getLayout = getLayout; export const getStaticProps: GetStaticProps = async ( context: GetStaticPropsContext ) => { const intl = await getIntlInstance(); const breadcrumbTitle = intl.formatMessage({ defaultMessage: 'Error 404', description: '404Page: breadcrumb item', }); const { locale } = context; const translation = await loadTranslation(locale); return { props: { breadcrumbTitle, locale, translation, }, }; }; export default Error404;