'use client' import Link from 'next/link' import Image from 'next/image' import { usePathname } from 'next/navigation' import { BadgeCheck, BriefcaseBusiness, Gauge, Info, Menu, PhoneCall, ShieldCheck, Sparkles, Store, X } from 'lucide-react' import { Button } from '@/components/ui/button' import React from 'react' import { cn } from '@/lib/utils' import { useScroll } from 'motion/react' import { useContent } from '@/components/layout/content-provider' import { AnimatePresence, motion } from 'framer-motion' import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, } from '@/components/ui/navigation-menu' function isRouteActive(pathname: string, href: string): boolean { if (href === '/') return pathname === '/' return pathname === href || pathname.startsWith(`${href}/`) } const HOME_HREF = '/' export const HeroHeaderTailark = () => { const [menuState, setMenuState] = React.useState(false) const [scrolled, setScrolled] = React.useState(false) const pathname = usePathname() ?? '' const content = useContent() const { header } = content.navigation const { images } = content const menuItems = header.menuItems const productItems = header.productItems const wordmark = header.wordmark ?? content.meta.siteName const homeItem = menuItems.find((i) => i.href === HOME_HREF) const trailItems = menuItems.filter((i) => i.href !== HOME_HREF) const productMenuItems = productItems.map((item, index) => ({ ...item, icon: [Sparkles, Gauge, ShieldCheck][index] ?? BadgeCheck, })) const solutionMenuItems = [ { name: 'درباره ما', href: '/about', description: 'آشنایی با چشم انداز، تجربه و مسیر توسعه مستر دکور', icon: Info, }, { name: 'تماس با ما', href: '/contact', description: 'ارتباط مستقیم با تیم برای دریافت پاسخ سریع', icon: PhoneCall, }, { name: 'مشاوره و قیمت', href: '/consultation', description: 'بررسی دقیق نیاز شما و پیشنهاد مسیر اجرایی مناسب', icon: BriefcaseBusiness, }, ] const { scrollYProgress } = useScroll() React.useEffect(() => { const unsubscribe = scrollYProgress.on('change', (latest) => { setScrolled(latest > 0.05) }) return () => unsubscribe() }, [scrollYProgress]) return (
) }