import React, { useState, useEffect } from 'react'; import Image from 'next/image'; import Link from "next/link"; import classNames from 'classnames'; import { HiMinus, HiPlus } from "react-icons/hi"; type PizzaProps = { id: number; title: string; heft: string[]; description: string; img: string[]; price: string[]; size: string[]; }; const types=[0,1], sizes=[30,40,50], sum=0, typeNames = ['традиционное тесто','тонкое тесто'] ; export const PizzaModalsContent: React.FC = ({ id, title, img, heft, description, price, size, }) => { const [activeType, setActiveType] = useState(0); const [activeSize, setActiveSize] = useState(1); const [sum, setSum] = useState(price[activeSize] as unknown as number); const [feature, setFeature] = useState(sizes[activeSize]+' см, '+ typeNames[activeType] +" "+ heft[activeSize]+' г'); const addBasket = () => { console.log('add'); } const ing = [{name:'onion', title:'Лук', price:6}, {name:'tomato', title:'Томаты', price:16}, {name:'cheese', title:'Сыр', price:20}, {name:'mushroom', title:'Грибы', price:10}, {name:'bacon', title:'Бекон', price:30}, {name:'pineapple', title:'Ананас', price:30}, {name:'pickles', title:'Огурчик', price:6}, {name:'jalapeno', title:'Халапенью', price:6}]; const [check, setCheck] = useState>([]); const ingredientsAdd = (event: React.MouseEvent) => { event.preventDefault(); const button = event.currentTarget.value as any; console.log(check, 'check_mass'); setCheck({...check, [button]: check[button as number] === 'none_img' ? 'yellow_img' : 'none_img'}); if (check[button]==='none_img') { console.log(check[button], 'check[button] true'); setSum(sum-ing[button as number].price); } else { console.log(check[button], 'check[button] false'); setSum(sum+ing[button as number].price); } } useEffect(() => { setFeature(sizes[activeSize]+' см, '+ typeNames[activeType] +" "+ heft[activeSize]+' г'); setCheck([]); setSum(price[activeSize] as unknown as number); }, [activeSize, activeType, heft, price]); return ( <>
{'pizza'}

{title}

{feature}

{description}

    {types.map((typeId) => (
  • setActiveType(typeId)} className={activeType === typeId ? classNames('active type') : classNames('type')}> {typeNames[typeId]}
  • ))}
    {sizes.map((size, i) => (
  • setActiveSize(i)} className={activeSize === i ? classNames('active size') : classNames('size')}> {size} см
  • ))}
    {ing.map((obj, count) =>
  • {obj.title}

    {obj.price} p

    {check[count] === 'none_img' ? : }
  • )}
); };