"use client"; import { useEffect, useState } from "react"; import { CUSTOMER_URL } from "./meshkee"; function CartIcon() { return ( ); } function UserIcon() { return ( ); } export default function HeaderTools() { const [cart, setCart] = useState([]); const [user, setUser] = useState(null); const [isOpen, setIsOpen] = useState(false); useEffect(() => { const loadCart = () => { try { setCart(JSON.parse(localStorage.getItem("asphp_cart") || "[]")); } catch { setCart([]); } }; const loadUser = async () => { const token = localStorage.getItem("meshkee_token") || localStorage.getItem("asphp_token"); const savedUser = localStorage.getItem("meshkee_user"); if (savedUser) { try { setUser(JSON.parse(savedUser)); } catch {} } if (!token) return; try { const response = await fetch("/api/auth/me", { headers: { Authorization: `Bearer ${token}` } }); if (response.ok) { const data = await response.json(); setUser(data.user || data); } } catch {} }; loadCart(); loadUser(); window.addEventListener("asphp-cart-change", loadCart); return () => window.removeEventListener("asphp-cart-change", loadCart); }, []); const count = cart.reduce((sum, item) => sum + Number(item.quantity || 1), 0); const displayName = user?.firstName || user?.name || user?.fullName || user?.mobile || user?.cellNumber; const isAdmin = user?.isAdmin || user?.role === "admin" || user?.type === "admin"; const logout = () => { localStorage.removeItem("meshkee_token"); localStorage.removeItem("asphp_token"); localStorage.removeItem("meshkee_user"); setUser(null); }; return (
{displayName ? (
{displayName} عزیز
پروفایل من {isAdmin ? مدیریت وبسایت : null}
) : ( ورود )}
setIsOpen(event.currentTarget.open)}> {count > 0 ? {count} : null}

سبد خرید

{cart.length ? ( <> {cart.map((item) => (
{item.title} {item.quantity}
))} ادامه خرید ) : (

سبد خرید شما خالی است.

)}
); }