style: add industrial background and refined styling to mobile menu
This commit is contained in:
@@ -88,58 +88,76 @@ export function Navbar() {
|
|||||||
{/* Mobile Menu Overlay */}
|
{/* Mobile Menu Overlay */}
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
"fixed inset-0 bg-background/98 z-[200] lg:hidden flex flex-col p-8 transition-all duration-500",
|
"fixed inset-0 z-[200] lg:hidden flex flex-col p-8 transition-all duration-500 overflow-hidden",
|
||||||
mobileMenuOpen ? "opacity-100 translate-y-0" : "opacity-0 -translate-y-full pointer-events-none"
|
mobileMenuOpen ? "opacity-100 translate-y-0" : "opacity-0 -translate-y-full pointer-events-none"
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<div className="flex justify-between items-center mb-16">
|
{/* Background Image for Mobile Menu */}
|
||||||
<div className="flex flex-col">
|
<div className="absolute inset-0 z-0">
|
||||||
<span className="font-headline text-3xl font-black text-white tracking-tighter">AYDOĞAN</span>
|
<Image
|
||||||
<span className="font-label text-xs text-primary font-bold tracking-[0.3em] uppercase">Nakliyat & Vinç</span>
|
src="https://images.unsplash.com/photo-1504307651254-35680f356dfd?q=80&w=2070&auto=format&fit=crop"
|
||||||
</div>
|
alt="Mobile menu background"
|
||||||
<button
|
fill
|
||||||
onClick={() => setMobileMenuOpen(false)}
|
sizes="100vw"
|
||||||
className="p-4 bg-white/5 text-white"
|
className="object-cover grayscale brightness-[0.15]"
|
||||||
>
|
/>
|
||||||
<X size={32} />
|
<div className="absolute inset-0 bg-gradient-to-b from-primary/10 via-background/95 to-background" />
|
||||||
</button>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="flex flex-col gap-8">
|
<div className="relative z-10 flex flex-col h-full">
|
||||||
{NAV_LINKS.map((link, idx) => (
|
<div className="flex justify-between items-center mb-16">
|
||||||
<Link
|
<div className="flex flex-col">
|
||||||
key={link.name}
|
<span className="font-headline text-3xl font-black text-white tracking-tighter">AYDOĞAN</span>
|
||||||
href={link.href}
|
<span className="font-label text-xs text-primary font-bold tracking-[0.3em] uppercase">Nakliyat & Vinç</span>
|
||||||
|
</div>
|
||||||
|
<button
|
||||||
onClick={() => setMobileMenuOpen(false)}
|
onClick={() => setMobileMenuOpen(false)}
|
||||||
className={cn(
|
className="p-4 bg-white/5 text-white rounded-full hover:bg-primary transition-colors"
|
||||||
"font-headline text-4xl font-bold uppercase tracking-tighter transition-all hover:translate-x-4",
|
|
||||||
pathname === link.href ? "text-primary" : "text-white/60"
|
|
||||||
)}
|
|
||||||
style={{ transitionDelay: `${idx * 50}ms` }}
|
|
||||||
>
|
>
|
||||||
{link.name}
|
<X size={24} />
|
||||||
</Link>
|
</button>
|
||||||
))}
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="mt-auto flex flex-col gap-4">
|
<div className="flex flex-col gap-8">
|
||||||
<button
|
{NAV_LINKS.map((link, idx) => (
|
||||||
onClick={() => {
|
<Link
|
||||||
handleWhatsApp();
|
key={link.name}
|
||||||
setMobileMenuOpen(false);
|
href={link.href}
|
||||||
}}
|
onClick={() => setMobileMenuOpen(false)}
|
||||||
className="w-full bg-primary text-on-primary font-headline font-black uppercase tracking-widest py-6 text-xl flex items-center justify-center gap-3 active:scale-95 transition-all"
|
className={cn(
|
||||||
>
|
"font-headline text-4xl font-bold uppercase tracking-tighter transition-all hover:translate-x-4 flex items-center gap-4 group",
|
||||||
<MessageCircle className="w-6 h-6" />
|
pathname === link.href ? "text-primary" : "text-white/60"
|
||||||
HIZLI TEKLİF AL
|
)}
|
||||||
</button>
|
style={{ transitionDelay: `${idx * 50}ms` }}
|
||||||
<a
|
>
|
||||||
href={`tel:${siteConfig.contact.phone.replace(/\s+/g, '')}`}
|
<div className={cn(
|
||||||
className="w-full border border-white/10 text-white font-headline font-bold uppercase tracking-widest py-6 text-lg text-center flex items-center justify-center gap-3"
|
"w-2 h-2 bg-primary rounded-full transition-all group-hover:scale-150",
|
||||||
>
|
pathname === link.href ? "opacity-100" : "opacity-0 group-hover:opacity-100"
|
||||||
<Phone className="w-5 h-5" />
|
)} />
|
||||||
{siteConfig.contact.phone}
|
{link.name}
|
||||||
</a>
|
</Link>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mt-auto flex flex-col gap-4">
|
||||||
|
<button
|
||||||
|
onClick={() => {
|
||||||
|
handleWhatsApp();
|
||||||
|
setMobileMenuOpen(false);
|
||||||
|
}}
|
||||||
|
className="w-full bg-primary text-on-primary font-headline font-black uppercase tracking-widest py-6 text-xl flex items-center justify-center gap-3 active:scale-95 transition-all shadow-[0_20px_50px_rgba(234,179,8,0.2)]"
|
||||||
|
>
|
||||||
|
<MessageCircle className="w-6 h-6" />
|
||||||
|
HIZLI TEKLİF AL
|
||||||
|
</button>
|
||||||
|
<a
|
||||||
|
href={`tel:${siteConfig.contact.phone.replace(/\s+/g, '')}`}
|
||||||
|
className="w-full border border-white/10 bg-white/5 backdrop-blur-sm text-white font-headline font-bold uppercase tracking-widest py-6 text-lg text-center flex items-center justify-center gap-3 hover:bg-white/10 transition-all"
|
||||||
|
>
|
||||||
|
<Phone className="w-5 h-5" />
|
||||||
|
{siteConfig.contact.phone}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
Reference in New Issue
Block a user