import Link from 'next/link'; import Layout from 'src/components/layout'; import Meta from 'src/components/meta/Meta'; import styles from 'src/styles/modules/components/error/error-info.module.scss'; // for details regarding the svg, go to sadgnu.svg file // description copied verbatim from https://www.gnu.org/graphics/sventsitsky-sadgnu.html // 404 idea from ninamori.org 404 page. type Props = { message: string; statusCode?: number; originalPath?: string; stack?: string; /** props specific to error boundary. */ misc?: { subtext: string; buttonText: string; buttonClickHandler: () => void; }; }; const isDev = process.env.NODE_ENV === 'development'; const ErrorInfo = ({ message, statusCode, misc, originalPath, stack }: Props) => { const title = statusCode ? `${message} (${statusCode})` : message; return ( <> GNU and Tux A pencil drawing of a big gnu and a small penguin, both very sad. GNU is despondently sitting on a bench, and Tux stands beside him, looking down and patting him on the back.

{title}

{Boolean(stack && isDev) && (
            {stack}
          
)} {misc ? ( <>

{misc.subtext}

) : (

Go back to{' '} the homepage , or view this route{' '} on IMDb .

)}

If you think this shouldn't happen,{' '} let it be known .

); }; export default ErrorInfo;