Custom error page
All checks were successful
Deploy Frontend / docker (17, 3.8.5) (push) Successful in 1m1s
All checks were successful
Deploy Frontend / docker (17, 3.8.5) (push) Successful in 1m1s
This commit is contained in:
parent
335ed10a53
commit
6f36c8bc4e
55
Frontend/src/app/error.tsx
Normal file
55
Frontend/src/app/error.tsx
Normal file
@ -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're Sssssorry
|
||||
</h1>
|
||||
|
||||
{/* Error */}
|
||||
<h2 className="text-2xl">
|
||||
It's not you, it's us, something went wrong.
|
||||
</h2>
|
||||
|
||||
{/* Try Again */}
|
||||
<MinecraftButton className="mt-3.5 h-11" onClick={() => reset()}>
|
||||
Try Again?
|
||||
</MinecraftButton>
|
||||
</main>
|
||||
);
|
||||
};
|
||||
export default ErrorPage;
|
Loading…
Reference in New Issue
Block a user