'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.brand}
قطر داخلی (L):
{product.l}
قطر خارجی (D):
{product.d}