diff --git a/package-lock.json b/package-lock.json index 5b7b663c..bfcdfc21 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6499,4 +6499,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/app/not-found.tsx b/src/app/not-found.tsx new file mode 100644 index 00000000..2df7b187 --- /dev/null +++ b/src/app/not-found.tsx @@ -0,0 +1,97 @@ +"use client"; + +import React, { useEffect } from "react"; +import { Code, Terminal, Database, Globe } from "lucide-react"; + +import { LucideIcon } from "lucide-react"; + +const FloatingIcon = ({ icon: Icon, className }: { icon: LucideIcon; className: string }) => ( +
+ +
+); + +const NotFoundPage = () => { + useEffect(() => { + const styles = ` + @keyframes float { + 0% { transform: translateY(0px); } + 50% { transform: translateY(-10px); } + 100% { transform: translateY(0px); } + } + + @keyframes shine { + from { transform: translateX(-100%); } + to { transform: translateX(100%); } + } + + .animate-float { + animation: float 3s ease-in-out infinite; + } + + .animate-shine { + animation: shine 2s infinite; + } + `; + + const styleSheet = document.createElement("style"); + styleSheet.innerText = styles; + document.head.appendChild(styleSheet); + + return () => { + document.head.removeChild(styleSheet); // Cleanup on unmount + }; + }, []); + + return ( +
+ {/* Floating Background Icons */} + + + + + + + + + + + + + + {/* Main Content Card */} +
+ {/* Animated 404 Text */} +

404

+

Page Not Found

+

+ Explore, learn, and find your way back to our diverse web development projects. +

+

+ Continue your development journey with our other resources. +

+

+ Try searching our projects or checking out our latest tutorials. +

+ + {/* Action Buttons */} +
+ + +
+
+
+ ); +}; + +export default NotFoundPage;