import { useState, useEffect } from "react"; import { motion, AnimatePresence } from "motion/react"; import { Plus, ArrowUpRight, ShoppingCart } from "lucide-react"; import { cls } from "@/lib/utils"; import Button from "@/components/ui/Button"; import { useCart } from "@/context/CartContext"; import { Link } from "react-router-dom"; interface NavbarFloatingProps { logo: string; navItems: { name: string; href: string }[]; ctaButton: { text: string; href: string }; } const handleNavClick = (e: React.MouseEvent, href: string, onClose?: () => void) => { if (href.startsWith("#")) { e.preventDefault(); const element = document.getElementById(href.slice(1)); element?.scrollIntoView({ behavior: "smooth", block: "start" }); } onClose?.(); }; const NavbarFloating = ({ logo, navItems, ctaButton }: NavbarFloatingProps) => { const [menuOpen, setMenuOpen] = useState(false); const { cartItems } = useCart(); const cartItemCount = cartItems.reduce((acc, item) => acc + item.quantity, 0); useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { if (e.key === "Escape" && menuOpen) setMenuOpen(false); }; document.addEventListener("keydown", handleKeyDown); return () => document.removeEventListener("keydown", handleKeyDown); }, [menuOpen]); return ( <> {menuOpen && ( setMenuOpen(false)} /> )} ); }; export default NavbarFloating;