'use client'; import { Phone } from "lucide-react"; import Image from "next/image"; import Link from 'next/link'; import { useCart } from "./context/cartcontext"; import { Product } from "@/public/src/types/product"; import CartControls from "./CartControls"; interface ProductCardProps { product: Product; } export default function ProductCard({ product }: ProductCardProps) { // دریافت استیتهای لوکال و سرور از کانتکست const { cart, serverCartItems, isLoggedIn } = useCart(); const slug = product.slug; // منطق یافتن شناسه ردیف سبد خرید و تعداد بر اساس وضعیت لاگین let cartItemId = null; let quantity = 0; if (isLoggedIn && serverCartItems) { // اگر لاگین بود، از سبد خرید سرور میخوانیم const serverItem = serverCartItems.find((item) => item.product?.id === product.id); if (serverItem) { cartItemId = serverItem.id; quantity = serverItem.quantity; } } else { // اگر مهمان بود، از لوکال استوریج میخوانیم const localItem = cart.find(item => item.id === product.id); if (localItem) { quantity = localItem.quantity; } } const formattedPrice = product.price ? Number(product.price.toString().replace(/,/g, '')).toLocaleString('fa-IR') : null; return (
{product.brand}
{product.attributes[0].name}:
{product.attributes[0].valueText || "-"}
{product.attributes[1].name}:
{product.attributes[1].valueText || "-"}