From 44b0a9f8a5cf04b007b49543c19c83bc12d91140 Mon Sep 17 00:00:00 2001 From: Vula Builder Date: Wed, 29 Jul 2026 19:04:16 +0000 Subject: [PATCH] Deploy --- src/components/layout/Navigation.tsx | 75 ++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/components/layout/Navigation.tsx diff --git a/src/components/layout/Navigation.tsx b/src/components/layout/Navigation.tsx new file mode 100644 index 0000000..525f291 --- /dev/null +++ b/src/components/layout/Navigation.tsx @@ -0,0 +1,75 @@ +'use client'; + +import { useState, useEffect } from 'react'; +import { Menu, ShoppingBag, ShoppingCart, X } from 'lucide-react'; +import Link from 'next/link'; +import { cn } from '@/lib/utils'; +import { useVulaCart } from '@/hooks/useVulaCart'; + +export default function Navigation() { + const [isOpen, setIsOpen] = useState(false); + const [scrolled, setScrolled] = useState(false); + const { itemCount } = useVulaCart(); + + useEffect(() => { + const onScroll = () => setScrolled(window.scrollY > 80); + window.addEventListener('scroll', onScroll, { passive: true }); + return () => window.removeEventListener('scroll', onScroll); + }, []); + + return ( + <> +
+ +
+ {/* Logo */} + +
+ +
+ Diva + + + {/* Desktop nav */} + + + {/* Mobile toggle */} + +
+
+ + {/* Mobile nav */} + {isOpen && ( +
+ setIsOpen(false)}>Home + setIsOpen(false)}>Just Dropped + setIsOpen(false)}>Featured Products + setIsOpen(false)}>Urban Ambition + setIsOpen(false)}>Most Popular + setIsOpen(false)}>Diva Lookbook + setIsOpen(false)}>Products +
+ )} + + ); +}