import { useState, useEffect } from "react"; import { Menu, X, Download, ShieldCheck } from "lucide-react"; import { motion, AnimatePresence } from "motion/react"; import { Link, useLocation } from "react-router-dom"; interface NavbarProps { downloadUrl: string; } export default function Navbar({ downloadUrl }: NavbarProps) { const [isOpen, setIsOpen] = useState(false); const [isScrolled, setIsScrolled] = useState(false); const location = useLocation(); const navItems = [ { name: "Home", path: "/" }, { name: "Features Specs", path: "/features" }, { name: "FAQ Hub", path: "/faq" }, { name: "Support Us", path: "/support" }, { name: "Contact Specialist", path: "/contact" }, ]; useEffect(() => { const handleScroll = () => { setIsScrolled(window.scrollY > 20); }; window.addEventListener("scroll", handleScroll); return () => window.removeEventListener("scroll", handleScroll); }, []); // Close mobile navigation drawer whenever path shifts useEffect(() => { setIsOpen(false); window.scrollTo(0, 0); }, [location.pathname]); const activePath = location.pathname; return ( <> {/* Logo */} Lumina Convert All File Converter {/* Desktop Nav Items */} {navItems.map((item) => ( {item.name} {activePath === item.path && ( )} ))} {/* Premium CTA Button */} Download Free {/* Mobile Menu Button */} setIsOpen(!isOpen)} id="mobile-menu-toggle-btn" className="p-2 text-slate-700 hover:text-slate-900 focus:outline-none cursor-pointer" aria-label="Toggle navigation menu" > {isOpen ? : } {/* Mobile Drawer Overlay */} {isOpen && ( <> {/* Backdrop */} setIsOpen(false)} className="fixed inset-0 bg-slate-900/20 backdrop-blur-sm z-40 md:hidden" /> {/* Sidebar drawer */} Lumina Convert setIsOpen(false)} id="mobile-drawer-close-btn" className="p-1 rounded-full hover:bg-slate-100 text-slate-500 cursor-pointer" > {navItems.map((item) => ( {item.name} {activePath === item.path && ( )} ))} v1.4.2 Standalone Offline GPU acceleration included. Download Installer > )} > ); }
Offline GPU acceleration included.