'use client'; import { Phone, Plus, ShoppingCart, Minus, Trash2 } from "lucide-react"; import Image from "next/image"; import Link from 'next/link'; import { useCart, Product } from "./context/cartcontext"; interface ProductCardProps { product: Product; } export default function ProductCard({ product }: ProductCardProps) { const { addToCart, decreaseQuantity, cart } = useCart(); // پیدا کردن محصول در سبد خرید const cartItem = cart.find(item => item.id === product.id); const quantity = cartItem ? cartItem.quantity : 0; const generateSlug = (text: string) => { if (!text) return ""; return text .trim() .replace(/[\s\u200c]+/g, '-') .replace(/[^\w\u0600-\u06FF0-9\-]/g, '') .replace(/\-\-+/g, '-'); }; const slug = generateSlug(product.title); const handleIncrease = (e: React.MouseEvent) => { e.preventDefault(); e.stopPropagation(); addToCart(product); }; const handleDecrease = (e: React.MouseEvent) => { e.preventDefault(); e.stopPropagation(); decreaseQuantity(product.id); }; // پاکسازی قیمت از ویرگول و تبدیل به عدد برای نمایش صحیح const formattedPrice = product.price ? Number(product.price.toString().replace(/,/g, '')).toLocaleString('fa-IR') : null; return (
{product.stock ? "موجود" : "ناموجود"} {product.title}

{product.brand}

{product.title}

قطر داخلی (L):

{product.l}

قطر خارجی (D):

{product.d}

{/* بخش قیمت و دکمه خرید */} {product.price ? (
{formattedPrice} تومان {/* بررسی موجودی برای نمایش دکمه سبد خرید */} {product.stock ? ( quantity > 0 ? (
{ e.preventDefault(); e.stopPropagation(); }} > {quantity}
) : ( ) ) : ( // جایگزین دکمه خرید وقتی محصول ناموجود است عدم موجودی )}
) : ( استعلام )} ); }