diff options
| author | Factiven <[email protected]> | 2023-12-24 13:03:54 +0700 |
|---|---|---|
| committer | Factiven <[email protected]> | 2023-12-24 13:03:54 +0700 |
| commit | 50a0f0240d7fef133eb5acc1bea2b1168b08e9db (patch) | |
| tree | 307e09e505580415a58d64b5fc3580e9235869f1 /pages/_error.tsx | |
| parent | Update README.md (#104) (diff) | |
| download | moopa-50a0f0240d7fef133eb5acc1bea2b1168b08e9db.tar.xz moopa-50a0f0240d7fef133eb5acc1bea2b1168b08e9db.zip | |
migrate to typescript
Diffstat (limited to 'pages/_error.tsx')
| -rw-r--r-- | pages/_error.tsx | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/pages/_error.tsx b/pages/_error.tsx new file mode 100644 index 0000000..35a9691 --- /dev/null +++ b/pages/_error.tsx @@ -0,0 +1,41 @@ +import MobileNav from "@/components/shared/MobileNav"; +import { Navbar } from "@/components/shared/NavBar"; +import Footer from "@/components/shared/footer"; +import Head from "next/head"; +import Link from "next/link"; + +function Error({ statusCode }: any) { + return ( + <> + <Head> + <title>An Error Has Occurred</title> + </Head> + <Navbar 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 }: any) => { + const statusCode = res ? res.statusCode : err ? err.statusCode : 404; + return { statusCode }; +}; + +export default Error; |