pizza-online
45 строк · 1.1 Кб
1'use client'
2
3import React from 'react'
4import {ProductCard} from './product-card'
5import {observer} from '@/lib/utils'
6import {useCategoriesStore} from '../store/categories'
7
8interface Props {
9groupId: number
10title: string
11items: any[]
12className?: string
13}
14
15export const ProductsGroup: React.FC<Props> = ({title, items}) => {
16const targetRef = React.useRef(null)
17const setCategoryName = useCategoriesStore(state => state.updateCategoryName)
18
19React.useEffect(() => {
20const cleanup = observer(targetRef.current!, setCategoryName)
21return cleanup
22}, [targetRef, setCategoryName, title])
23
24return (
25<section id={title}>
26<h2 ref={targetRef} className='font-bold text-[32px]'>
27{title}
28</h2>
29
30<ul className='grid grid-cols-3 gap-[50px]'>
31{items.map((item, i) => (
32<li key={`${i}${item.name}`}>
33<ProductCard
34id={item.id}
35name={item.name}
36price={item.price[0]}
37count={item.count}
38imageUrl={item.imageUrl}
39/>
40</li>
41))}
42</ul>
43</section>
44)
45}
46