'use client'; import React, { useState, useEffect } from 'react'; import Link from 'next/link'; import { Heart, ShoppingCart, Menu, Search, X, GitCompare } from 'lucide-react'; import { LiveSearch } from '../components/store/LiveSearch'; import { useCartStore } from '@/store/cartStore'; import { motion, AnimatePresence } from 'framer-motion'; import { AccountMenu } from '@/components/AccountMenu'; export const HeaderActions: React.FC = () => { const [mobileSearchOpen, setMobileSearchOpen] = useState(false); const setCartDrawerOpen = useCartStore((state) => state.setCartDrawerOpen); const cartItems = useCartStore((state) => state.cart) || []; const cartCount = cartItems.reduce( (acc, item) => acc + (item.quantity || 1), 0 ); const wishlistCount = useCartStore((state) => state.wishlist.length); const compareCount = useCartStore((state) => (state.compareList || []).length); useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { if (e.key === 'Escape') setMobileSearchOpen(false); }; document.addEventListener('keydown', handleKeyDown); return () => document.removeEventListener('keydown', handleKeyDown); }, []); const triggerMobileDrawer = () => { window.dispatchEvent(new Event('openMobileDrawer')); }; return ( <>
{compareCount > 0 && ( {compareCount} )} {wishlistCount > 0 && ( {wishlistCount} )}
{mobileSearchOpen && (
)}
); };