aboutsummaryrefslogtreecommitdiff
path: root/pages/_error.tsx
diff options
context:
space:
mode:
authorFactiven <[email protected]>2023-12-24 13:03:54 +0700
committerFactiven <[email protected]>2023-12-24 13:03:54 +0700
commit50a0f0240d7fef133eb5acc1bea2b1168b08e9db (patch)
tree307e09e505580415a58d64b5fc3580e9235869f1 /pages/_error.tsx
parentUpdate README.md (#104) (diff)
downloadmoopa-50a0f0240d7fef133eb5acc1bea2b1168b08e9db.tar.xz
moopa-50a0f0240d7fef133eb5acc1bea2b1168b08e9db.zip
migrate to typescript
Diffstat (limited to 'pages/_error.tsx')
-rw-r--r--pages/_error.tsx41
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;