"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.title}

{product.title}

{product.category === 'software' && (
Тип лицензии: {product.licenseType === 'perpetual' ? 'Бессрочная' : 'Подписка'}
)}
{product.price} ₽
{!isInCart && ( <>
{quantity}
)} {isInCart && ( )}

Описание

{product.description || 'Подробное описание товара. Здесь может быть длинный текст с характеристиками и особенностями продукта.'}

Отзывы

{isLoggedIn ? ( <>

Оставить отзыв

) : (

Чтобы просматривать и оставлять отзывы, пожалуйста, войдите в систему.

)}
) }