diff --git a/apps/frontend/app/not-found.tsx b/apps/frontend/app/not-found.tsx new file mode 100644 index 0000000..7cf8b46 --- /dev/null +++ b/apps/frontend/app/not-found.tsx @@ -0,0 +1,221 @@ +'use client'; + +import { useRef } from 'react'; +import Link from 'next/link'; +import { motion, useInView } from 'framer-motion'; +import { Ship, Home, ArrowRight, LayoutDashboard, Anchor } from 'lucide-react'; +import { LandingHeader, LandingFooter } from '@/components/layout'; + +export default function NotFound() { + const heroRef = useRef(null); + const isHeroInView = useInView(heroRef, { once: true }); + + return ( +
+ + + {/* Hero Section */} +
+ {/* Background */} +
+
+
+
+
+
+
+ + {/* Content */} +
+ {/* Badge */} + + + + Erreur 404 + + + + {/* Animated Ship + Waves illustration */} + +
+ {/* Ship */} + + {/* Hull */} + + {/* Deck */} + + {/* Bridge */} + + {/* Window */} + + + {/* Smokestack */} + + + {/* Mast */} + + {/* Flag */} + + {/* Containers on deck */} + + + + + + + {/* Waves layer 1 */} + + + + + {/* Waves layer 2 */} + + + +
+
+ + {/* 404 */} + + 404 + + + {/* Subtitle */} + + + Page introuvable + + + + {/* Description */} + + Ce navire a pris le large... La page que vous cherchez + n'existe pas ou a été déplacée. + + + {/* CTA Buttons */} + + + + Retour à l'accueil + + + + + + Tableau de bord + + +
+ + {/* Bottom wave */} +
+ + + +
+
+ + + + +
+ ); +}