'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.stock ? "موجود" : "ناموجود"} {product.title}

{product.brand}

{product.title}

{product.attributes?.[0] && (

{product.attributes[0].name}:

{product.attributes[0].valueText || "-"}

)} {product.attributes?.[1] && (

{product.attributes[1].name}:

{product.attributes[1].valueText || "-"}

)}
{product.price ? (
{formattedPrice} تومان {product.stock ? ( // استفاده از کامپوننت CartControls دقیقا با همان UI قبلی ) : ( عدم موجودی )}
) : ( استعلام )} ); }