import React from 'react'; import dynamic from 'next/dynamic'; import { useRouter } from 'next/router'; import { Button, CSSReset, Flex, Heading, Text, ThemeProvider, useColorMode, theme as defaultTheme, } from '@chakra-ui/core'; import { inRange } from 'lodash'; const ColorModeProvider = dynamic( () => import('@chakra-ui/core').then(mod => mod.ColorModeProvider), { ssr: false }, ); const ErrorContent = ({ msg, statusCode }) => { const { colorMode } = useColorMode(); const bg = { light: 'white', dark: 'black' }; const baseCode = inRange(statusCode, 400, 500) ? 400 : inRange(statusCode, 500, 600) ? 500 : 400; const errorColor = { 400: { light: 'error.500', dark: 'error.300' }, 500: { light: 'danger.500', dark: 'danger.300' }, }; const variantColor = { 400: 'error', 500: 'danger', }; const color = { light: 'black', dark: 'white' }; const { push } = useRouter(); const handleClick = () => push('/'); return ( {msg} {statusCode === 404 && isn't a thing...} ); }; const ErrorPage = ({ msg, statusCode }) => { return ( ); }; ErrorPage.getInitialProps = ({ res, err }) => { const statusCode = res ? res.statusCode : err ? err.statusCode : 404; const msg = err ? err.message : res.req?.url || 'Error'; return { msg, statusCode }; }; export default ErrorPage;