import { useState } from "react"; import { Link, useNavigate } from "react-router-dom"; import { Button } from "@/components/ui/button"; import { Menu, X, User, Plus, Sun, Moon, Globe } from "lucide-react"; import { useAuth } from "@/contexts/AuthContext"; import { useLanguage } from "@/contexts/LanguageContext"; import { useCart } from "@/contexts/CartContext"; import CartSidebar from "@/components/CartSidebar"; const Header = () => { const [isMenuOpen, setIsMenuOpen] = useState(false); const [isDark, setIsDark] = useState(false); const { user, isAuthenticated, logout } = useAuth(); const { language, setLanguage, t } = useLanguage(); const { getTotalItems } = useCart(); const navigate = useNavigate(); const toggleTheme = () => { setIsDark(!isDark); document.documentElement.classList.toggle('dark'); }; const handleAuthAction = () => { if (isAuthenticated) { navigate('/dashboard'); } else { navigate('/sign-in'); } }; const handleLogout = () => { logout(); navigate('/'); }; const languages = [ { code: 'es', name: 'ES', flag: 'πŸ‡ͺπŸ‡Έ' }, { code: 'en', name: 'EN', flag: 'πŸ‡ΊπŸ‡Έ' }, { code: 'fr', name: 'FR', flag: 'πŸ‡«πŸ‡·' } ]; return (
{/* Logo */} Karibeo {/* Desktop Navigation */} {/* Desktop Actions */}
{/* Language/Theme Controls */}
{isAuthenticated ? (
) : ( )}
{/* Mobile Menu Button */}
{/* Mobile Navigation */} {isMenuOpen && (
)}
); }; export default Header;