Skip to content

Commit fc2db08

Browse files
author
vivek
committed
Add 404 page
1 parent 1168621 commit fc2db08

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

app/not-found.tsx

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
"use client";
2+
import Link from "next/link";
3+
import { Home, ArrowLeft, Compass } from "lucide-react";
4+
import Image from "next/image";
5+
6+
export default function Custom404() {
7+
return (
8+
<main className="relative min-h-[75vh] overflow-hidden bg-zinc-950">
9+
{/* subtle background grid */}
10+
<div className="absolute inset-0 -z-10">
11+
<div className="absolute inset-0 bg-[linear-gradient(to_right,rgba(255,255,255,0.035)_1px,transparent_1px),linear-gradient(to_bottom,rgba(255,255,255,0.035)_1px,transparent_1px)] bg-[length:44px_44px]" />
12+
<div className="absolute inset-0 bg-[radial-gradient(ellipse_at_center,rgba(255,255,255,0.03),transparent_70%)]" />
13+
</div>
14+
15+
<div className="container max-w-3xl mx-auto px-6 py-24 text-center">
16+
<p className="text-sm tracking-wider text-zinc-400">ERROR</p>
17+
<h1 className="mt-1 text-5xl font-semibold tracking-tight text-zinc-100">
18+
404 - Page not found
19+
</h1>
20+
<p className="mt-3 text-zinc-400">
21+
We’re still building parts of the site, so the page you’re trying to
22+
reach might be coming soon or may have moved.
23+
</p>
24+
25+
{/* Illustration slot */}
26+
<div className="mx-auto mt-10 w-full max-w-xl ">
27+
<Image
28+
src="https://gymbuddy.cdn.viveksahu.dev/images/404.svg"
29+
alt="404 illustration"
30+
width={1280}
31+
height={720}
32+
className="mx-auto"
33+
/>
34+
</div>
35+
36+
{/* Actions */}
37+
<div className="mt-10 flex flex-col sm:flex-row items-stretch sm:items-center justify-center gap-3">
38+
<Link
39+
href="/"
40+
className="inline-flex items-center justify-center gap-2 rounded-xl border border-zinc-800 bg-zinc-900/60 px-4 py-2 text-sm text-zinc-100 hover:bg-zinc-900 transition">
41+
<Home className="h-4 w-4" />
42+
Go home
43+
</Link>
44+
45+
<button
46+
onClick={() =>
47+
window.history.length > 1
48+
? window.history.back()
49+
: (window.location.href = "/")
50+
}
51+
className="inline-flex items-center justify-center gap-2 rounded-xl border border-zinc-800 px-4 py-2 text-sm text-zinc-300 hover:bg-zinc-900/60 transition">
52+
<ArrowLeft className="h-4 w-4" />
53+
Go back
54+
</button>
55+
</div>
56+
57+
<div className="mt-6 text-xs text-zinc-500">
58+
Or{" "}
59+
<Link
60+
href="/about#contact"
61+
className="text-emerald-400 hover:text-emerald-300 underline underline-offset-4">
62+
Contact US
63+
</Link>
64+
.
65+
</div>
66+
</div>
67+
</main>
68+
);
69+
}

0 commit comments

Comments
 (0)