diff options
Diffstat (limited to 'pages/_error.js')
| -rw-r--r-- | pages/_error.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/pages/_error.js b/pages/_error.js new file mode 100644 index 0000000..19dfcff --- /dev/null +++ b/pages/_error.js @@ -0,0 +1,41 @@ +import MobileNav from "@/components/shared/MobileNav"; +import { NewNavbar } from "@/components/shared/NavBar"; +import Footer from "@/components/shared/footer"; +import Head from "next/head"; +import Link from "next/link"; + +function Error({ statusCode }) { + return ( + <> + <Head> + <title>An Error Has Occurred</title> + </Head> + <NewNavbar withNav shrink /> + <MobileNav hideProfile /> + <div className="w-screen h-screen flex-center flex-col gap-5"> + <div className="relative text-3xl">(╯°□°)╯︵ ┻━┻</div> + <div className="flex items-center gap-2 text-xl"> + <span> + {statusCode + ? `An error ${statusCode} occurred on server.` + : "An error occurred on client."} + </span> + </div> + <Link + href="/en" + className="rounded ring-action/50 ring-1 p-2 font-karla bg-action bg-opacity-0 hover:bg-opacity-20 hover:scale-105 text-white transition-all duration-300" + > + Back to home + </Link> + </div> + <Footer /> + </> + ); +} + +Error.getInitialProps = ({ res, err }) => { + const statusCode = res ? res.statusCode : err ? err.statusCode : 404; + return { statusCode }; +}; + +export default Error; |