"use client" import Image from "next/image" import { Minus, Plus, Trash2 } from "lucide-react" import { Button } from "@/components/ui/button" import { Card } from "@/components/ui/card" import { useUpdateCartItemQuantity, useRemoveFromCart } from "@/lib/hooks" import type { CartItem, CartTranslations } from "./types" interface CartItemCardProps { item: CartItem translations: CartTranslations } export default function CartItemCard({ item, translations: t }: CartItemCardProps) { const { mutate: updateQuantity, isPending: isUpdating } = useUpdateCartItemQuantity() const { mutate: removeItem, isPending: isRemoving } = useRemoveFromCart() const handleQuantityChange = (delta: number) => { const newQuantity = item.quantity + delta if (newQuantity >= 1) { updateQuantity({ itemId: item.id, quantity: newQuantity }) } } const handleDelete = () => { removeItem(item.id) } return (
{/* Product Image & Info */}
{item.product.name}

{item.product.name}

{item.seller.name}

{/* Price & Quantity */}

{t.pricePerUnit} {item.price_formatted || `${item.price} TMT`}

{t.additionalPrice} {item.sub_total_formatted || `${item.total} TMT`}

{item.discount_formatted && item.discount_formatted !== "0 TMT" && (

{t.discount} {item.discount_formatted}

)}
{t.totalPrice} {item.total_formatted || `${item.total} TMT`}
{/* Quantity Controls */}
{item.quantity}
) }