Custom error page
All checks were successful
Deploy Frontend / docker (17, 3.8.5) (push) Successful in 1m1s

This commit is contained in:
Braydon 2024-04-21 13:51:31 -04:00
parent 335ed10a53
commit 6f36c8bc4e

@ -0,0 +1,55 @@
"use client";
import Creeper from "@/components/creeper";
import { minecrafter } from "@/font/fonts";
import { cn } from "@/app/common/utils";
import { ReactElement } from "react";
import { useEffect } from "react";
import MinecraftButton from "@/components/minecraft-button";
/**
* The error page.
*
* @returns the page jsx
*/
const ErrorPage = ({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}): ReactElement => {
// Log the error upon mount
useEffect((): void => {
console.error(error);
}, [error]);
// Render the page
return (
<main className="h-screen flex flex-col gap-3 justify-center items-center text-center pointer-events-none">
{/* Creeper */}
<Creeper />
{/* Header */}
<h1
className={cn(
"text-5xl sm:text-6xl text-minecraft-green-3",
minecrafter.className
)}
>
We&apos;re Sssssorry
</h1>
{/* Error */}
<h2 className="text-2xl">
It&apos;s not you, it&apos;s us, something went wrong.
</h2>
{/* Try Again */}
<MinecraftButton className="mt-3.5 h-11" onClick={() => reset()}>
Try Again?
</MinecraftButton>
</main>
);
};
export default ErrorPage;