"use client" import Image from "next/image" import { useState } from "react" import { Heart, ShoppingCart, Minus, Plus } from 'lucide-react' import { Button } from "./ui/button" import { useCart } from "@/contexts/cart-context" import { useFavorites } from "@/contexts/favorites-context" import { Product } from "@/types/product" import { ReviewList } from "./review-list" import { ReviewForm } from "./review-form" import { useAuth } from "@/contexts/auth-context" import Link from "next/link" interface ProductDetailProps { product: Product } export function ProductDetail({ product }: ProductDetailProps) { const [quantity, setQuantity] = useState(1) const { addToCart, items } = useCart() const { addToFavorites, removeFromFavorites, isFavorite } = useFavorites() const { isLoggedIn } = useAuth() const isInCart = items.some(item => item.id === product.id) const handleAddToCart = () => { if (!isInCart) { addToCart({ id: product.id, title: product.title, price: product.price, }, quantity) } } const handleToggleFavorite = () => { if (isFavorite(product.id)) { removeFromFavorites(product.id) } else { addToFavorites({ id: product.id, title: product.title, price: product.price, }) } } return (
{product.description || 'Подробное описание товара. Здесь может быть длинный текст с характеристиками и особенностями продукта.'}
Чтобы просматривать и оставлять отзывы, пожалуйста, войдите в систему.
)}