Skip to content

Commit c77658a

Browse files
authored
Merge pull request #40 from BeyteFlow/not-found-page
Create not-found.tsx
2 parents 4585d0a + 71f285f commit c77658a

3 files changed

Lines changed: 117 additions & 15 deletions

File tree

package-lock.json

Lines changed: 24 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"eslint": "^9",
3434
"eslint-config-next": "16.1.6",
3535
"tailwindcss": "^4",
36-
"typescript": "^5",
36+
"typescript": "5.9.3",
3737
"vitest": "^4.0.18"
3838
}
3939
}

src/app/not-found.tsx

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
"use client";
2+
3+
import React from "react";
4+
import Link from "next/link";
5+
import { Home, MoveLeft } from "lucide-react";
6+
import { Button } from "@/components/ui/Button";
7+
8+
export default function NotFound() {
9+
return (
10+
/* Layout synced with Hero: pt-32, pb-20, background black */
11+
<section className="relative min-h-screen pt-8 pb-20 overflow-hidden bg-black flex flex-col items-center justify-center">
12+
{/* Exact Background Glow logic from Hero */}
13+
<div className="absolute top-0 left-1/2 -translate-x-1/2 w-250 h-150 bg-blue-500/10 blur-[120px] rounded-full pointer-events-none" />
14+
15+
{/* Constraints matched to Hero: max-w-5xl, px-4 */}
16+
<div className="max-w-5xl mx-auto px-4 text-center relative z-10 w-full flex flex-col items-center">
17+
{/* Status Badge - Hero style animation */}
18+
<div className="mb-8 inline-flex items-center gap-2 px-3 py-1 rounded-full border border-blue-500/20 bg-blue-500/5 text-blue-400 text-xs font-semibold uppercase tracking-wider animate-in fade-in slide-in-from-bottom-3 duration-700">
19+
<span className="relative flex h-2 w-2">
20+
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-blue-400 opacity-75"></span>
21+
<span className="relative inline-flex rounded-full h-2 w-2 bg-blue-500"></span>
22+
</span>
23+
Status 404: Resource Not Found
24+
</div>
25+
26+
{/* Headline - Hero scaling: 5xl to 8xl */}
27+
<h1 className="text-5xl md:text-8xl font-black tracking-tighter mb-8 leading-[1.1] animate-in fade-in slide-in-from-bottom-4 duration-1000">
28+
Lost in the <br />
29+
<span className="bg-linear-to-b from-white to-white/40 bg-clip-text text-transparent">
30+
codebase.
31+
</span>
32+
</h1>
33+
34+
<p className="max-w-2xl mx-auto text-gray-400 text-lg md:text-xl mb-10 leading-relaxed animate-in fade-in slide-in-from-bottom-5 duration-1000">
35+
The page you&apos;re looking for doesn&apos;t exist. It might have
36+
been moved, deleted, or the repository was never initialized.
37+
</p>
38+
39+
{/* CTA Buttons */}
40+
<div className="flex flex-col sm:flex-row items-center justify-center gap-4 mb-20 animate-in fade-in slide-in-from-bottom-6 duration-1000">
41+
<Button
42+
asChild
43+
variant="primary"
44+
className="w-full sm:w-auto px-10 py-4 text-lg shadow-xl shadow-white/5"
45+
>
46+
<Link href="/">
47+
<Home size={20} />
48+
Back to Safety
49+
</Link>
50+
</Button>
51+
52+
<Button
53+
variant="outline"
54+
onClick={() => window.history.back()}
55+
className="w-full sm:w-auto px-10 py-4 text-lg"
56+
>
57+
<MoveLeft size={20} />
58+
Go Back
59+
</Button>
60+
</div>
61+
62+
<div className="w-full max-w-3xl bg-[#0a0a0a] border border-white/10 rounded-xl overflow-hidden shadow-2xl animate-in fade-in zoom-in duration-1000">
63+
<div className="flex items-center justify-between px-4 py-3 bg-white/5 border-b border-white/5 text-[10px] font-mono text-gray-500 tracking-widest uppercase">
64+
<div className="flex gap-1.5">
65+
<div className="w-3 h-3 rounded-full bg-[#ff5f56]/50 shadow-inner"></div>
66+
<div className="w-3 h-3 rounded-full bg-[#ffbd2e]/50 shadow-inner"></div>
67+
<div className="w-3 h-3 rounded-full bg-[#27c93f]/50 shadow-inner"></div>
68+
</div>
69+
<span>BASH — ERROR_LOG</span>
70+
</div>
71+
72+
<div className="p-6 md:p-8 font-mono text-sm md:text-base text-left space-y-2 leading-relaxed">
73+
<p className="flex items-center gap-2">
74+
<span className="text-blue-400 font-bold"></span>
75+
<span>
76+
readmegenai verify-route{" "}
77+
<span className="text-gray-600">--current</span>
78+
</span>
79+
</p>
80+
<p className="text-gray-400">● Analyzing repository tree...</p>
81+
<p className="text-red-400/90 bg-red-400/5 px-2 py-0.5 rounded inline-block">
82+
✗ Error: Component not found in ./pages or ./app
83+
</p>
84+
<p className="text-emerald-500/80">
85+
✓ Suggested action: Return to root index
86+
</p>
87+
</div>
88+
</div>
89+
</div>
90+
</section>
91+
);
92+
}

0 commit comments

Comments
 (0)