"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 type { 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 || "Подробное описание товара. Здесь может быть длинный текст с характеристиками и особенностями продукта."}
Чтобы просматривать и оставлять отзывы, пожалуйста,{" "} войдите в систему .
)}