import { motion } from 'framer-motion'; import Image from 'next/image'; import { useState } from 'react'; import { Heart } from 'lucide-react'; // Типы для свойств компонента interface NewArrivalsProps { products: Product[]; } // Тип для товара interface Product { id: number; name: string; price: number; images: string[]; description: string; isNew?: boolean; } export default function NewArrivals({ products }: NewArrivalsProps) { // Состояние для отслеживания наведения на карточки товаров const [hoveredProduct, setHoveredProduct] = useState(null); // Состояние для отслеживания избранных товаров const [favorites, setFavorites] = useState([]); // Функция для добавления/удаления товара из избранного const toggleFavorite = (id: number, e: React.MouseEvent) => { e.stopPropagation(); setFavorites(prev => prev.includes(id) ? prev.filter(itemId => itemId !== id) : [...prev, id] ); }; return (
Новинки
{products.map((product, index) => ( setHoveredProduct(product.id)} onMouseLeave={() => setHoveredProduct(null)} > {/* Метка "New" */} {product.isNew && (
New
)} {/* Кнопка избранного */} {/* Изображение товара */}
1 ? product.images[1] : product.images[0]} alt={product.name} layout="fill" objectFit="cover" className="transition-all duration-500 hover:scale-105" />
{/* Информация о товаре */}

{product.name}

{product.price.toLocaleString()} ₽

))}
); }