anatolian2/components/layout/MobileNav.tsx
Temmuz Aslan 591d878ac6 Initial commit: The Anatolian Edit website
Next.js 14 website with standalone output configured for Docker deployment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 22:34:25 +03:00

78 lines
2.4 KiB
TypeScript

"use client";
import { motion } from "framer-motion";
import Link from "next/link";
const navLinks = [
{ href: "/experiences", label: "Experiences" },
{ href: "/experiences/the-other-side", label: "The Other Side", featured: true },
{ href: "/experiences/first-light", label: "First Light" },
{ href: "/experiences/after-dark", label: "After Dark" },
{ href: "/about", label: "About" },
{ href: "/blog", label: "The Edit" },
{ href: "/faq", label: "FAQ" },
{ href: "/contact", label: "Contact" },
];
interface MobileNavProps {
onClose: () => void;
}
export function MobileNav({ onClose }: MobileNavProps) {
return (
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
exit={{ opacity: 0 }}
className="fixed inset-0 z-50 bg-white"
>
<div className="flex flex-col h-full p-6">
<div className="flex items-center justify-between mb-12">
<span className="font-display font-bold text-lg text-deep-nazar">
The Anatolian Edit
</span>
<button
onClick={onClose}
className="p-2 text-deep-nazar"
aria-label="Close menu"
>
<svg className="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
<nav className="flex flex-col gap-1 flex-1">
{navLinks.map((link, i) => (
<motion.div
key={link.href}
initial={{ opacity: 0, x: -20 }}
animate={{ opacity: 1, x: 0 }}
transition={{ delay: i * 0.05 }}
>
<Link
href={link.href}
onClick={onClose}
className={`block py-3 text-2xl font-display font-bold transition-colors ${
link.featured
? "text-bosphorus"
: "text-deep-nazar hover:text-bosphorus"
}`}
>
{link.label}
</Link>
</motion.div>
))}
</nav>
<Link
href="/experiences/the-other-side"
onClick={onClose}
className="w-full py-4 bg-coral-spritz text-white text-center text-lg font-semibold rounded-full shadow-lg"
>
Book Your Experience
</Link>
</div>
</motion.div>
);
}