modified: components/customer/pages/index/modals/cart/content.tsx modified: components/customer/pages/index/modals/cart/pizzaCart.tsx modified: components/customer/pages/index/modals/pizza/content.tsx modified: components/customer/pages/index/modals/pizza/pizzaCard.tsx modified: pages/index.tsx deleted: redux/cart1/selectors.ts deleted: redux/cart1/slice.ts deleted: redux/cart1/types.tsmaster
parent
2c59211da9
commit
380dd9b50a
@ -0,0 +1,35 @@ |
||||
Сайт для сервиса доставки пиццы. |
||||
|
||||
[Ссылка на сайт](https://pizza.krasnikov.pro/) |
||||
|
||||
### Задания на изменения |
||||
1. [x] Исправить размер модального окна с добавление пиццы в корзину |
||||
2. [x] Перенести кнопку закрытия модального окна в верхний левый угол |
||||
|
||||
### Изменения 11.07.22 |
||||
1. Изменил размеры модального окна с карточкой пиццы под разные расширения экрана. |
||||
2. Изменил внутренни размеры компонентов модального окна, что бы все помещались. |
||||
3. Убрал появление синего цвета при нажатии. |
||||
|
||||
### Изменения 12.07.22 |
||||
1. Изменил расположение нижней панели карточки пиццы. |
||||
2. Перенастроил корзину. Но пака не доделал новый дизайн карточки продукта. |
||||
|
||||
### Изменения 18.07.22 |
||||
1. Перенес кнопку закрыть карточку в верхний правый угол. |
||||
2. Настроил автоматическое изменение размеров модального окна с пиццей. |
||||
3. Изменил кнопку закрытия корзины. |
||||
|
||||
### Изменения 19.07.22 |
||||
1. Перерисовал корзину под новый дизайн только для компьютерной версии. |
||||
|
||||
### Изменения 23.07.22 - 23:00 - 00:30 |
||||
1. Изменил окно корзины для мобильной версии. |
||||
|
||||
### Изменения 24.07.22 - 21:34 - 00:47 |
||||
1. Добавление продуктов в корзину. |
||||
2. Уменьшение и увеличение количества продуктов в корзине. |
||||
|
||||
### Изменения 25.07.22 - 18:20 - |
||||
1. Исправил ошибку с типами данных. |
||||
2. Уменьшение и увеличение количества продуктов в корзине. |
@ -0,0 +1,35 @@ |
||||
Сайт для сервиса доставки пиццы. |
||||
|
||||
[Ссылка на сайт](https://pizza.krasnikov.pro/) |
||||
|
||||
### Задания на изменения |
||||
1. [x] Исправить размер модального окна с добавление пиццы в корзину |
||||
2. [x] Перенести кнопку закрытия модального окна в верхний левый угол |
||||
|
||||
### Изменения 11.07.22 |
||||
1. Изменил размеры модального окна с карточкой пиццы под разные расширения экрана. |
||||
2. Изменил внутренни размеры компонентов модального окна, что бы все помещались. |
||||
3. Убрал появление синего цвета при нажатии. |
||||
|
||||
### Изменения 12.07.22 |
||||
1. Изменил расположение нижней панели карточки пиццы. |
||||
2. Перенастроил корзину. Но пака не доделал новый дизайн карточки продукта. |
||||
|
||||
### Изменения 18.07.22 |
||||
1. Перенес кнопку закрыть карточку в верхний правый угол. |
||||
2. Настроил автоматическое изменение размеров модального окна с пиццей. |
||||
3. Изменил кнопку закрытия корзины. |
||||
|
||||
### Изменения 19.07.22 |
||||
1. Перерисовал корзину под новый дизайн только для компьютерной версии. |
||||
|
||||
### Изменения 23.07.22 - 23:00 - 00:30 |
||||
1. Изменил окно корзины для мобильной версии. |
||||
|
||||
### Изменения 24.07.22 - 21:34 - 00:47 |
||||
1. Добавление продуктов в корзину. |
||||
2. Уменьшение и увеличение количества продуктов в корзине. |
||||
|
||||
### Изменения 25.07.22 - 18:20 - |
||||
1. Исправил ошибку с типами данных. |
||||
2. При открытии корзины если нет продуктов выводится сообщение, что корзина пуста. |
@ -0,0 +1,122 @@ |
||||
import React, { useState } from 'react'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { useSelector } from 'react-redux'; |
||||
import { HiMinus, HiPlus } from "react-icons/hi"; |
||||
import { CardBasketProduct, CardAdditionally } from './' |
||||
import { BoxScroll } from '../../../../../../components/customer/containers'; |
||||
import { Button } from '../../../../../UI'; |
||||
import { selectCart } from './redux/selectors'; |
||||
|
||||
|
||||
type PizzaProps = { |
||||
id: string; |
||||
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 PizzaModalsContentCart: React.FC<PizzaProps> = ({ |
||||
id, |
||||
title, |
||||
img, |
||||
heft, |
||||
description, |
||||
price, |
||||
size, |
||||
}) => { |
||||
|
||||
const [additionally, setAdditionally] = useState([{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100},]); |
||||
|
||||
const [delivery, setDelivery] = useState(0); |
||||
|
||||
|
||||
|
||||
|
||||
const { totalPrice, items } = useSelector(selectCart); |
||||
|
||||
const totalCount = items.reduce((sum: number, item: any) => sum + item.count, 0); |
||||
|
||||
const [ sum, setSum ] = useState<number>(totalPrice + delivery); |
||||
|
||||
|
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
const sizeText = [{size:30, text: 'маленькая 30 см, '},{size:40, text: 'средняя 40 см, '}, {size:50, text: 'большая 50 см, '}] |
||||
|
||||
|
||||
return ( |
||||
<> |
||||
<Link href={"/"} as={"/"}> |
||||
<i className={classNames('button_close')}> |
||||
<svg className='svg' width="25" height="25" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"> |
||||
<path d="M9.84606 12.4986L0.552631 3.20519C-0.1806 2.47196 -0.1806 1.28315 0.552631 0.549923C1.28586 -0.183308 2.47466 -0.183308 3.20789 0.549923L12.5013 9.84335L21.792 0.552631C22.5253 -0.1806 23.7141 -0.1806 24.4473 0.552631C25.1805 1.28586 25.1805 2.47466 24.4473 3.20789L15.1566 12.4986L24.45 21.792C25.1832 22.5253 25.1832 23.7141 24.45 24.4473C23.7168 25.1805 22.528 25.1805 21.7947 24.4473L12.5013 15.1539L3.20519 24.45C2.47196 25.1832 1.28315 25.1832 0.549923 24.45C-0.183308 23.7168 -0.183308 22.528 0.549923 21.7947L9.84606 12.4986Z" ></path> |
||||
</svg> |
||||
</i> |
||||
</Link> |
||||
<div className='header'> |
||||
<p>{totalCount} товар на {totalPrice} р</p> |
||||
</div> |
||||
<div className='body'> |
||||
<div className='body_order'> |
||||
{Object.keys(items).length > 0 ? items.map((rows, count) => |
||||
<CardBasketProduct |
||||
id={rows.id} |
||||
count={rows.count} |
||||
key={count} |
||||
src={'/assets/img/'+rows.img[1]+'.jpg'} |
||||
alt={'pizza'} |
||||
title_name={rows.title} |
||||
title_size={sizeText.find(el => el.size === rows.size)?.text +' '+ rows.type} |
||||
sum={rows.sum}/> |
||||
) : <p className='body_additionally_text'>Корзина пуста</p>} |
||||
</div> |
||||
<div className='body_additionally'> |
||||
<p className='body_additionally_text'>Добавить к заказу?</p> |
||||
<BoxScroll> |
||||
{additionally.map((name, count) => |
||||
<CardAdditionally key={count} alt={'pizza'} src={name.src}/>) |
||||
} |
||||
</BoxScroll> |
||||
</div> |
||||
</div> |
||||
<div className='basket_footer'> |
||||
<div className='promo_code_box'> |
||||
<input className='input' type="text" name="promo_code" id="promo_code" placeholder="Промокод"/> |
||||
</div> |
||||
<div className='check'> |
||||
<div className='box'> |
||||
<p >Доставка </p> <p className='text'>{delivery} ₽</p> |
||||
</div> |
||||
<div className='box'> |
||||
<p >{totalCount} товар(а) </p> |
||||
<p className='text'>{totalPrice} ₽</p> |
||||
</div> |
||||
<div className='box'> |
||||
<p><b>Итого</b> </p> <p className='text'>{totalPrice + delivery} ₽</p> |
||||
</div> |
||||
</div> |
||||
<Link href={"/"} as={"/"}> |
||||
<Button styles={'yellow button_size_48 button_border_radius_30'} |
||||
align={'button_align_center'} |
||||
onClick={() => console.log('add')}>Оформить заказ {totalPrice + delivery} ₽ |
||||
</Button> |
||||
</Link> |
||||
</div> |
||||
</> |
||||
); |
||||
}; |
||||
|
||||
|
@ -0,0 +1,123 @@ |
||||
import React, { useState } from 'react'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { useSelector } from 'react-redux'; |
||||
import { HiMinus, HiPlus } from "react-icons/hi"; |
||||
import { CardBasketProduct, CardAdditionally } from './' |
||||
import { BoxScroll } from '../../../../../../components/customer/containers'; |
||||
import { Button } from '../../../../../UI'; |
||||
import { selectCart } from './redux/selectors'; |
||||
|
||||
|
||||
type PizzaProps = { |
||||
id: string; |
||||
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 PizzaModalsContentCart: React.FC<PizzaProps> = ({ |
||||
id, |
||||
title, |
||||
img, |
||||
heft, |
||||
description, |
||||
price, |
||||
size, |
||||
}) => { |
||||
|
||||
const [additionally, setAdditionally] = useState([{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100},]); |
||||
|
||||
const [delivery, setDelivery] = useState(0); |
||||
|
||||
|
||||
|
||||
|
||||
const { totalPrice, items } = useSelector(selectCart); |
||||
|
||||
const totalCount = items.reduce((sum: number, item: any) => sum + item.count, 0); |
||||
|
||||
const [ sum, setSum ] = useState<number>(totalPrice + delivery); |
||||
|
||||
|
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
const sizeText = [{size:30, text: 'маленькая 30 см, '},{size:40, text: 'средняя 40 см, '}, {size:50, text: 'большая 50 см, '}] |
||||
|
||||
|
||||
return ( |
||||
<> |
||||
<Link href={"/"} as={"/"}> |
||||
<i className={classNames('button_close')}> |
||||
<svg className='svg' width="25" height="25" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"> |
||||
<path d="M9.84606 12.4986L0.552631 3.20519C-0.1806 2.47196 -0.1806 1.28315 0.552631 0.549923C1.28586 -0.183308 2.47466 -0.183308 3.20789 0.549923L12.5013 9.84335L21.792 0.552631C22.5253 -0.1806 23.7141 -0.1806 24.4473 0.552631C25.1805 1.28586 25.1805 2.47466 24.4473 3.20789L15.1566 12.4986L24.45 21.792C25.1832 22.5253 25.1832 23.7141 24.45 24.4473C23.7168 25.1805 22.528 25.1805 21.7947 24.4473L12.5013 15.1539L3.20519 24.45C2.47196 25.1832 1.28315 25.1832 0.549923 24.45C-0.183308 23.7168 -0.183308 22.528 0.549923 21.7947L9.84606 12.4986Z" ></path> |
||||
</svg> |
||||
</i> |
||||
</Link> |
||||
<div className='header'> |
||||
<p>{totalCount} товар на {totalPrice} р</p> |
||||
</div> |
||||
<div className='body'> |
||||
<div className='body_order'> |
||||
{Object.keys(items).length > 0 ? items.map((rows, count) => |
||||
<CardBasketProduct |
||||
id={rows.id} |
||||
count={rows.count} |
||||
key={count} |
||||
src={'/assets/img/'+rows.img[1]+'.jpg'} |
||||
alt={'pizza'} |
||||
title_name={rows.title} |
||||
title_size={sizeText.find(el => el.size === rows.size)?.text +' '+ rows.type} |
||||
sum={rows.sum}/> |
||||
) : <p className='body_additionally_text'>Корзина пуста</p>} |
||||
</div> |
||||
{Object.keys(items).length > 0 ? |
||||
<div className='body_additionally'> |
||||
<p className='body_additionally_text'>Добавить к заказу?</p> |
||||
<BoxScroll> |
||||
{additionally.map((name, count) => |
||||
<CardAdditionally key={count} alt={'pizza'} src={name.src}/>) |
||||
} |
||||
</BoxScroll> |
||||
</div> : '' } |
||||
</div> |
||||
<div className='basket_footer'> |
||||
<div className='promo_code_box'> |
||||
<input className='input' type="text" name="promo_code" id="promo_code" placeholder="Промокод"/> |
||||
</div> |
||||
<div className='check'> |
||||
<div className='box'> |
||||
<p >Доставка </p> <p className='text'>{delivery} ₽</p> |
||||
</div> |
||||
<div className='box'> |
||||
<p >{totalCount} товар(а) </p> |
||||
<p className='text'>{totalPrice} ₽</p> |
||||
</div> |
||||
<div className='box'> |
||||
<p><b>Итого</b> </p> <p className='text'>{totalPrice + delivery} ₽</p> |
||||
</div> |
||||
</div> |
||||
<Link href={"/"} as={"/"}> |
||||
<Button styles={'yellow button_size_48 button_border_radius_30'} |
||||
align={'button_align_center'} |
||||
onClick={() => console.log('add')}>Оформить заказ {totalPrice + delivery} ₽ |
||||
</Button> |
||||
</Link> |
||||
</div> |
||||
</> |
||||
); |
||||
}; |
||||
|
||||
|
@ -0,0 +1,123 @@ |
||||
import React, { useState } from 'react'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { useSelector } from 'react-redux'; |
||||
import { HiMinus, HiPlus } from "react-icons/hi"; |
||||
import { CardBasketProduct, CardAdditionally } from './' |
||||
import { BoxScroll } from '../../../../../../components/customer/containers'; |
||||
import { Button } from '../../../../../UI'; |
||||
import { selectCart } from './redux/selectors'; |
||||
|
||||
|
||||
type PizzaProps = { |
||||
id: string; |
||||
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 PizzaModalsContentCart: React.FC<PizzaProps> = ({ |
||||
id, |
||||
title, |
||||
img, |
||||
heft, |
||||
description, |
||||
price, |
||||
size, |
||||
}) => { |
||||
|
||||
const [additionally, setAdditionally] = useState([{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100}, |
||||
{src:'/assets/img/coca.png', name: 'Coca', price: 100},]); |
||||
|
||||
const [delivery, setDelivery] = useState(0); |
||||
|
||||
|
||||
|
||||
|
||||
const { totalPrice, items } = useSelector(selectCart); |
||||
|
||||
const totalCount = items.reduce((sum: number, item: any) => sum + item.count, 0); |
||||
|
||||
const [ sum, setSum ] = useState<number>(totalPrice + delivery); |
||||
|
||||
|
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
const sizeText = [{size:30, text: 'маленькая 30 см, '},{size:40, text: 'средняя 40 см, '}, {size:50, text: 'большая 50 см, '}] |
||||
|
||||
|
||||
return ( |
||||
<> |
||||
<Link href={"/"} as={"/"}> |
||||
<i className={classNames('button_close')}> |
||||
<svg className='svg' width="25" height="25" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"> |
||||
<path d="M9.84606 12.4986L0.552631 3.20519C-0.1806 2.47196 -0.1806 1.28315 0.552631 0.549923C1.28586 -0.183308 2.47466 -0.183308 3.20789 0.549923L12.5013 9.84335L21.792 0.552631C22.5253 -0.1806 23.7141 -0.1806 24.4473 0.552631C25.1805 1.28586 25.1805 2.47466 24.4473 3.20789L15.1566 12.4986L24.45 21.792C25.1832 22.5253 25.1832 23.7141 24.45 24.4473C23.7168 25.1805 22.528 25.1805 21.7947 24.4473L12.5013 15.1539L3.20519 24.45C2.47196 25.1832 1.28315 25.1832 0.549923 24.45C-0.183308 23.7168 -0.183308 22.528 0.549923 21.7947L9.84606 12.4986Z" ></path> |
||||
</svg> |
||||
</i> |
||||
</Link> |
||||
<div className='header'> |
||||
<p>{totalCount} товар на {totalPrice} р</p> |
||||
</div> |
||||
<div className='body'> |
||||
<div className='body_order'> |
||||
{Object.keys(items).length > 0 ? items.map((rows, count) => |
||||
<CardBasketProduct |
||||
id={rows.id} |
||||
count={rows.count} |
||||
key={count} |
||||
src={'/assets/img/'+rows.img[1]+'.jpg'} |
||||
alt={'pizza'} |
||||
title_name={rows.title} |
||||
title_size={sizeText.find(el => el.size === rows.size)?.text +' '+ rows.type} |
||||
sum={rows.sum}/> |
||||
) : <p className='body_additionally_text'>Корзина пуста</p>} |
||||
</div> |
||||
{Object.keys(items).length > 0 ? |
||||
<div className='body_additionally'> |
||||
<p className='body_additionally_text'>Добавить к заказу?</p> |
||||
<BoxScroll> |
||||
{additionally.map((name, count) => |
||||
<CardAdditionally key={count} alt={'pizza'} src={name.src}/>) |
||||
} |
||||
</BoxScroll> |
||||
</div> : '' } |
||||
</div> |
||||
<div className='basket_footer'> |
||||
<div className='promo_code_box'> |
||||
<input className='input' type="text" name="promo_code" id="promo_code" placeholder="Промокод"/> |
||||
</div> |
||||
<div className='check'> |
||||
<div className='box'> |
||||
<p >Доставка </p> <p className='text'>{delivery} ₽</p> |
||||
</div> |
||||
<div className='box'> |
||||
<p >{totalCount} товар(а) </p> |
||||
<p className='text'>{totalPrice} ₽</p> |
||||
</div> |
||||
<div className='box'> |
||||
<p><b>Итого</b> </p> <p className='text'>{totalPrice + delivery} ₽</p> |
||||
</div> |
||||
</div> |
||||
<Link href={"/"} as={"/"}> |
||||
<Button styles={'yellow button_size_48 button_border_radius_30'} |
||||
align={'button_align_center'} |
||||
onClick={() => console.log('add')} >Оформить заказ {totalPrice + delivery} ₽ |
||||
</Button> |
||||
</Link> |
||||
</div> |
||||
</> |
||||
); |
||||
}; |
||||
|
||||
|
@ -1,32 +0,0 @@ |
||||
import React, { useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import { Modal } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
//import { PizzaModalsContent } from './';
|
||||
|
||||
type Props = { |
||||
id: any; |
||||
otherProp?: any; |
||||
}; |
||||
|
||||
export const PizzaCart: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
|
||||
useEffect(() => { |
||||
// dispatch( fetchPizzaToCard({id}) );
|
||||
}, [dispatch, id]); |
||||
|
||||
//const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData);
|
||||
|
||||
//const pizza = pizzaToCard_items.map((obj, index) => <PizzaModalsContent key={index} {...obj}/> );
|
||||
//const pizzaSkeleton = [...new Array(6)].map((_, index) => <PizzaSkeleton key={index} />);
|
||||
|
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
{ |
||||
//pizza
|
||||
} |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,32 +0,0 @@ |
||||
import React, { useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import { Modal } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
import { PizzaModalsContent } from './'; |
||||
|
||||
type Props = { |
||||
id: any; |
||||
otherProp?: any; |
||||
}; |
||||
|
||||
export const PizzaCart: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
|
||||
useEffect(() => { |
||||
// dispatch( fetchPizzaToCard({id}) );
|
||||
}, [dispatch, id]); |
||||
|
||||
//const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData);
|
||||
|
||||
//const pizza = pizzaToCard_items.map((obj, index) => <PizzaModalsContent key={index} {...obj}/> );
|
||||
//const pizzaSkeleton = [...new Array(6)].map((_, index) => <PizzaSkeleton key={index} />);
|
||||
|
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
{ |
||||
<PizzaModalsContent id={0} title={''} heft={[]} description={''} img={[]} price={[]} size={[]} /> |
||||
} |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,32 +0,0 @@ |
||||
import React, { useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import { Modal } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
import { PizzaModalsContentCart } from './'; |
||||
|
||||
type Props = { |
||||
id: any; |
||||
otherProp?: any; |
||||
}; |
||||
|
||||
export const PizzaCart: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
|
||||
useEffect(() => { |
||||
// dispatch( fetchPizzaToCard({id}) );
|
||||
}, [dispatch, id]); |
||||
|
||||
//const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData);
|
||||
|
||||
//const pizza = pizzaToCard_items.map((obj, index) => <PizzaModalsContent key={index} {...obj}/> );
|
||||
//const pizzaSkeleton = [...new Array(6)].map((_, index) => <PizzaSkeleton key={index} />);
|
||||
|
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
{ |
||||
<PizzaModalsContentCart id={0} title={''} heft={[]} description={''} img={[]} price={[]} size={[]} /> |
||||
} |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,32 +0,0 @@ |
||||
import React, { useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import { Modal } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
import { PizzaModalsContentCart } from './'; |
||||
|
||||
type Props = { |
||||
id: any; |
||||
otherProp?: any; |
||||
}; |
||||
|
||||
export const PizzaCart: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
|
||||
useEffect(() => { |
||||
// dispatch( fetchPizzaToCard({id}) );
|
||||
}, [dispatch, id]); |
||||
|
||||
//const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData);
|
||||
|
||||
//const pizza = pizzaToCard_items.map((obj, index) => <PizzaModalsContent key={index} {...obj}/> );
|
||||
//const pizzaSkeleton = [...new Array(6)].map((_, index) => <PizzaSkeleton key={index} />);
|
||||
|
||||
return ( |
||||
<Modal styles={'basket'} position={''}> |
||||
{ |
||||
<PizzaModalsContentCart id={0} title={''} heft={[]} description={''} img={[]} price={[]} size={[]} /> |
||||
} |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,32 +0,0 @@ |
||||
import React, { useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import { Modal } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
import { PizzaModalsContentCart } from './'; |
||||
|
||||
type Props = { |
||||
id: any; |
||||
otherProp?: any; |
||||
}; |
||||
|
||||
export const PizzaCart: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
|
||||
useEffect(() => { |
||||
// dispatch( fetchPizzaToCard({id}) );
|
||||
}, [dispatch, id]); |
||||
|
||||
//const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData);
|
||||
|
||||
//const pizza = pizzaToCard_items.map((obj, index) => <PizzaModalsContent key={index} {...obj}/> );
|
||||
//const pizzaSkeleton = [...new Array(6)].map((_, index) => <PizzaSkeleton key={index} />);
|
||||
|
||||
return ( |
||||
<Modal styles={'cart'} position={''}> |
||||
{ |
||||
<PizzaModalsContentCart id={0} title={''} heft={[]} description={''} img={[]} price={[]} size={[]} /> |
||||
} |
||||
</Modal> |
||||
); |
||||
}; |
@ -0,0 +1,156 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { useDispatch, useSelector } from 'react-redux'; |
||||
import { HiMinus, HiPlus } from "react-icons/hi"; |
||||
import { CartItem } from '../cart/redux/types'; |
||||
import { addItem } from '../cart/redux/slice'; |
||||
|
||||
type PizzaProps = { |
||||
id: string; |
||||
title: string; |
||||
heft: string[]; |
||||
description: string; |
||||
img: string[]; |
||||
price: number[]; |
||||
size: number; |
||||
}; |
||||
|
||||
const types=[0,1], sizes=[30,40,50], sum=0, typeNames = ['традиционное тесто','тонкое тесто'] ; |
||||
|
||||
export const PizzaModalsContent: React.FC<PizzaProps> = ({ |
||||
id, |
||||
title, |
||||
img, |
||||
heft, |
||||
description, |
||||
price, |
||||
size, |
||||
}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(1); |
||||
const [sum, setSum] = useState<number>(price[activeSize]); |
||||
const [feature, setFeature] = useState(sizes[activeSize]+' см, '+ typeNames[activeType] +" "+ heft[activeSize]+' г'); |
||||
|
||||
const dispatch = useDispatch(); |
||||
|
||||
const addBasket = () => { |
||||
const item: CartItem = { |
||||
id, |
||||
title, |
||||
sum, |
||||
img, |
||||
type: typeNames[activeType], |
||||
size: sizes[activeSize], |
||||
count: 0, |
||||
}; |
||||
console.log(item, 'add'); |
||||
dispatch(addItem(item)); |
||||
} |
||||
|
||||
|
||||
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<Array<string>>([]); |
||||
|
||||
const ingredientsAdd = (event: React.MouseEvent<HTMLLIElement>) => { |
||||
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]); //imageUrl '/assets/img/'+img[activeSize]+'.jpg'
|
||||
|
||||
return ( |
||||
<> |
||||
<div className='left'> |
||||
<div className='img'> |
||||
<Image |
||||
src={'/assets/img/'+img[activeSize]+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='right'> |
||||
<div className="box_header"> |
||||
<h3 className="title">{title}</h3> |
||||
<p className="feature">{feature}</p> |
||||
<p className="description">{description}</p> |
||||
<div className="block_selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div className="box_body"> |
||||
<div className='ingredients'> |
||||
<ul className='ul'> {ing.map((obj, count) => |
||||
<li className='li' key={count} value={count} onClick={ingredientsAdd}> |
||||
<div className={classNames('text_box ' + (check[count] === 'none_img' ? 'yellow_img' : 'none_img'))} > |
||||
<div className={classNames('img_img ' + obj.name)}> </div> |
||||
<p className='title_img'>{obj.title}</p> |
||||
<p className='price_img'>{obj.price} p</p> |
||||
<div className={'button_img'}>{check[count] === 'none_img' ? <HiMinus/> : <HiPlus/>} </div> |
||||
</div> |
||||
</li> )} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div className='box_footer'> |
||||
<Link href={"/"} as={"/"} scroll={true}> |
||||
<button className={classNames('button yellow button_size_48 button_border_radius_30')} |
||||
onClick={addBasket}>В корзину за {sum} р</button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
<Link href={"/"} as={"/"} scroll={true}> |
||||
<i className="close"> |
||||
<svg className='svg' width="25" height="25" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"> |
||||
<path d="M9.84606 12.4986L0.552631 3.20519C-0.1806 2.47196 -0.1806 1.28315 0.552631 0.549923C1.28586 -0.183308 2.47466 -0.183308 3.20789 0.549923L12.5013 9.84335L21.792 0.552631C22.5253 -0.1806 23.7141 -0.1806 24.4473 0.552631C25.1805 1.28586 25.1805 2.47466 24.4473 3.20789L15.1566 12.4986L24.45 21.792C25.1832 22.5253 25.1832 23.7141 24.45 24.4473C23.7168 25.1805 22.528 25.1805 21.7947 24.4473L12.5013 15.1539L3.20519 24.45C2.47196 25.1832 1.28315 25.1832 0.549923 24.45C-0.183308 23.7168 -0.183308 22.528 0.549923 21.7947L9.84606 12.4986Z" ></path> |
||||
</svg> |
||||
</i> |
||||
</Link> |
||||
</> |
||||
); |
||||
}; |
||||
|
||||
|
@ -0,0 +1,156 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { useDispatch, useSelector } from 'react-redux'; |
||||
import { HiMinus, HiPlus } from "react-icons/hi"; |
||||
import { CartItem } from '../cart/redux/types'; |
||||
import { addItem } from '../cart/redux/slice'; |
||||
|
||||
type PizzaProps = { |
||||
id: string; |
||||
title: string; |
||||
heft: string[]; |
||||
description: string; |
||||
img: string[]; |
||||
price: number[]; |
||||
size: number; |
||||
}; |
||||
|
||||
const types=[0,1], sizes=[30,40,50], typeNames = ['традиционное тесто','тонкое тесто'] ; |
||||
|
||||
export const PizzaModalsContent: React.FC<PizzaProps> = ({ |
||||
id, |
||||
title, |
||||
img, |
||||
heft, |
||||
description, |
||||
price, |
||||
size, |
||||
}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(1); |
||||
const [sum, setSum] = useState<number>(price[activeSize]); |
||||
const [feature, setFeature] = useState(sizes[activeSize]+' см, '+ typeNames[activeType] +" "+ heft[activeSize]+' г'); |
||||
|
||||
const dispatch = useDispatch(); |
||||
|
||||
const addBasket = () => { |
||||
const item: CartItem = { |
||||
id, |
||||
title, |
||||
sum, |
||||
img, |
||||
type: typeNames[activeType], |
||||
size: sizes[activeSize], |
||||
count: 0, |
||||
}; |
||||
console.log(item, 'add'); |
||||
dispatch(addItem(item)); |
||||
} |
||||
|
||||
|
||||
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<Array<string>>([]); |
||||
|
||||
const ingredientsAdd = (event: React.MouseEvent<HTMLLIElement>) => { |
||||
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]); //imageUrl '/assets/img/'+img[activeSize]+'.jpg'
|
||||
|
||||
return ( |
||||
<> |
||||
<div className='left'> |
||||
<div className='img'> |
||||
<Image |
||||
src={'/assets/img/'+img[activeSize]+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='right'> |
||||
<div className="box_header"> |
||||
<h3 className="title">{title}</h3> |
||||
<p className="feature">{feature}</p> |
||||
<p className="description">{description}</p> |
||||
<div className="block_selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div className="box_body"> |
||||
<div className='ingredients'> |
||||
<ul className='ul'> {ing.map((obj, count) => |
||||
<li className='li' key={count} value={count} onClick={ingredientsAdd}> |
||||
<div className={classNames('text_box ' + (check[count] === 'none_img' ? 'yellow_img' : 'none_img'))} > |
||||
<div className={classNames('img_img ' + obj.name)}> </div> |
||||
<p className='title_img'>{obj.title}</p> |
||||
<p className='price_img'>{obj.price} p</p> |
||||
<div className={'button_img'}>{check[count] === 'none_img' ? <HiMinus/> : <HiPlus/>} </div> |
||||
</div> |
||||
</li> )} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div className='box_footer'> |
||||
<Link href={"/"} as={"/"} scroll={true}> |
||||
<button className={classNames('button yellow button_size_48 button_border_radius_30')} |
||||
onClick={addBasket}>В корзину за {sum} р</button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
<Link href={"/"} as={"/"} scroll={true}> |
||||
<i className="close"> |
||||
<svg className='svg' width="25" height="25" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"> |
||||
<path d="M9.84606 12.4986L0.552631 3.20519C-0.1806 2.47196 -0.1806 1.28315 0.552631 0.549923C1.28586 -0.183308 2.47466 -0.183308 3.20789 0.549923L12.5013 9.84335L21.792 0.552631C22.5253 -0.1806 23.7141 -0.1806 24.4473 0.552631C25.1805 1.28586 25.1805 2.47466 24.4473 3.20789L15.1566 12.4986L24.45 21.792C25.1832 22.5253 25.1832 23.7141 24.45 24.4473C23.7168 25.1805 22.528 25.1805 21.7947 24.4473L12.5013 15.1539L3.20519 24.45C2.47196 25.1832 1.28315 25.1832 0.549923 24.45C-0.183308 23.7168 -0.183308 22.528 0.549923 21.7947L9.84606 12.4986Z" ></path> |
||||
</svg> |
||||
</i> |
||||
</Link> |
||||
</> |
||||
); |
||||
}; |
||||
|
||||
|
@ -0,0 +1,156 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { useDispatch, useSelector } from 'react-redux'; |
||||
import { HiMinus, HiPlus } from "react-icons/hi"; |
||||
import { CartItem } from '../cart/redux/types'; |
||||
import { addItem } from '../cart/redux/slice'; |
||||
|
||||
type PizzaProps = { |
||||
id: any; |
||||
title: string; |
||||
heft: string[]; |
||||
description: string; |
||||
img: string[]; |
||||
price: number | any; |
||||
size: number[] | string[]; |
||||
}; |
||||
|
||||
const types=[0,1], sizes=[30,40,50], typeNames = ['традиционное тесто','тонкое тесто'] ; |
||||
|
||||
export const PizzaModalsContent: React.FC<PizzaProps> = ({ |
||||
id, |
||||
title, |
||||
img, |
||||
heft, |
||||
description, |
||||
price, |
||||
size, |
||||
}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(1); |
||||
const [sum, setSum] = useState<number>(price[activeSize]); |
||||
const [feature, setFeature] = useState(sizes[activeSize]+' см, '+ typeNames[activeType] +" "+ heft[activeSize]+' г'); |
||||
|
||||
const dispatch = useDispatch(); |
||||
|
||||
const addBasket = () => { |
||||
const item: CartItem = { |
||||
id, |
||||
title, |
||||
sum, |
||||
img, |
||||
type: typeNames[activeType], |
||||
size: sizes[activeSize], |
||||
count: 0, |
||||
}; |
||||
console.log(item, 'add'); |
||||
dispatch(addItem(item)); |
||||
} |
||||
|
||||
|
||||
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<Array<string>>([]); |
||||
|
||||
const ingredientsAdd = (event: React.MouseEvent<HTMLLIElement>) => { |
||||
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]); //imageUrl '/assets/img/'+img[activeSize]+'.jpg'
|
||||
|
||||
return ( |
||||
<> |
||||
<div className='left'> |
||||
<div className='img'> |
||||
<Image |
||||
src={'/assets/img/'+img[activeSize]+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='right'> |
||||
<div className="box_header"> |
||||
<h3 className="title">{title}</h3> |
||||
<p className="feature">{feature}</p> |
||||
<p className="description">{description}</p> |
||||
<div className="block_selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div className="box_body"> |
||||
<div className='ingredients'> |
||||
<ul className='ul'> {ing.map((obj, count) => |
||||
<li className='li' key={count} value={count} onClick={ingredientsAdd}> |
||||
<div className={classNames('text_box ' + (check[count] === 'none_img' ? 'yellow_img' : 'none_img'))} > |
||||
<div className={classNames('img_img ' + obj.name)}> </div> |
||||
<p className='title_img'>{obj.title}</p> |
||||
<p className='price_img'>{obj.price} p</p> |
||||
<div className={'button_img'}>{check[count] === 'none_img' ? <HiMinus/> : <HiPlus/>} </div> |
||||
</div> |
||||
</li> )} |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div className='box_footer'> |
||||
<Link href={"/"} as={"/"} scroll={true}> |
||||
<button className={classNames('button yellow button_size_48 button_border_radius_30')} |
||||
onClick={addBasket}>В корзину за {sum} р</button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
<Link href={"/"} as={"/"} scroll={true}> |
||||
<i className="close"> |
||||
<svg className='svg' width="25" height="25" viewBox="0 0 25 25" xmlns="http://www.w3.org/2000/svg"> |
||||
<path d="M9.84606 12.4986L0.552631 3.20519C-0.1806 2.47196 -0.1806 1.28315 0.552631 0.549923C1.28586 -0.183308 2.47466 -0.183308 3.20789 0.549923L12.5013 9.84335L21.792 0.552631C22.5253 -0.1806 23.7141 -0.1806 24.4473 0.552631C25.1805 1.28586 25.1805 2.47466 24.4473 3.20789L15.1566 12.4986L24.45 21.792C25.1832 22.5253 25.1832 23.7141 24.45 24.4473C23.7168 25.1805 22.528 25.1805 21.7947 24.4473L12.5013 15.1539L3.20519 24.45C2.47196 25.1832 1.28315 25.1832 0.549923 24.45C-0.183308 23.7168 -0.183308 22.528 0.549923 21.7947L9.84606 12.4986Z" ></path> |
||||
</svg> |
||||
</i> |
||||
</Link> |
||||
</> |
||||
); |
||||
}; |
||||
|
||||
|
@ -1,18 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Header, Footer, FooterNav } from '../../components/customer/pages/index/block'; |
||||
import { ContainerInside } from '../../components/customer/containers' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const MainLayout: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<div className="wrapper"> |
||||
<Header/> |
||||
<div className="content"> |
||||
{children} |
||||
<FooterNav/> |
||||
<Footer/> |
||||
</div> |
||||
</div> |
||||
); |
||||
}; |
@ -1,17 +0,0 @@ |
||||
import React from 'react'; |
||||
|
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const MainLayout: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<div className="wrapper"> |
||||
<Header/> |
||||
<div className="content"> |
||||
{children} |
||||
<FooterNav/> |
||||
<Footer/> |
||||
</div> |
||||
</div> |
||||
); |
||||
}; |
@ -1,12 +0,0 @@ |
||||
import React from 'react'; |
||||
|
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const MainLayout: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<div className="wrapper"> |
||||
|
||||
</div> |
||||
); |
||||
}; |
@ -1,12 +0,0 @@ |
||||
import React from 'react'; |
||||
|
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const : React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<div className="wrapper"> |
||||
|
||||
</div> |
||||
); |
||||
}; |
@ -1,12 +0,0 @@ |
||||
import React from 'react'; |
||||
|
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const Pi: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<div className="wrapper"> |
||||
|
||||
</div> |
||||
); |
||||
}; |
@ -1,12 +0,0 @@ |
||||
import React from 'react'; |
||||
|
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<div className="wrapper"> |
||||
|
||||
</div> |
||||
); |
||||
}; |
@ -1,12 +0,0 @@ |
||||
import React from 'react'; |
||||
|
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<div className="wrapper"> |
||||
|
||||
</div> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
|
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import {} |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } form '' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } form '../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../modals' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../modals/pizza' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../.' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from './' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../.././/' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../../../' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{informationPizza.length ? |
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{//informationPizza.length ?
|
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> : '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,39 +0,0 @@ |
||||
import React from 'react'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{//informationPizza.length ?
|
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> //: '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,40 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{//informationPizza.length ?
|
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> //: '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,42 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{//informationPizza.length ?
|
||||
<Image |
||||
src={'/'+/'''''' |
||||
\ |
||||
} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> //: '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,43 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{//informationPizza.length ?
|
||||
<Image |
||||
src={'/'+/'''''' |
||||
\ |
||||
|
||||
--p[]} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> //: '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,40 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{//informationPizza.length ?
|
||||
<Image |
||||
src={'/'+/''''''} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> //: '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,40 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI' |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{//informationPizza.length ?
|
||||
<Image |
||||
src={'/'+pizzaImg} |
||||
alt={informationPizza[0].description} |
||||
width={336} |
||||
height={336} |
||||
/> //: '...' |
||||
} |
||||
<RadioButton masImg={masImg} updateData={(e) => variableImg(e)}/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
{informationPizza.length ? <h3 className="modal_title">{informationPizza[0].title}</h3> : '...'} |
||||
<p className="modal_feature">{feature}</p> |
||||
{informationPizza.length ? <p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,24 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
|
||||
<RadioButton masImg={['12','23']} /> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
|
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,23 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<RadioButton masImg={['12','23']} /> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
|
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,23 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<RadioButton masImg={['12','23']} /> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
|
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,23 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { children: React.ReactNode }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({children}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<RadioButton masImg={[12,23]} /> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
|
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,23 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: number }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
|
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,23 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
|
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,23 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
|
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,23 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
sf sd sgf gdfg dfg dgd fg |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,29 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<Link href={"/"} as={"/"} > |
||||
<button |
||||
className={'yelow button_size_32'} |
||||
>Добавить |
||||
</button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,29 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<Link href={"/"} as={"/"} > |
||||
<button |
||||
className={'yelow button_size_32'} |
||||
>Закрыть |
||||
</button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,29 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button |
||||
className={'yelow button_size_32'} |
||||
>Закрыть |
||||
</button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd',
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
{<p className="modal_description">{informationPizza[0].description}</p> : '...'} |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} |
||||
align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
</div> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,36 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description',
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<ToggleSwitch mass={massDough} id={pizza.dough} updateData={(e)=>pizzaSetting(e)}/> |
||||
<ToggleSwitch mass={informationPizza} id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<Ingredients id={pizza.size} updateData={(e)=>pizzaSetting(e)}/> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description'; |
||||
const addBasket = () => { |
||||
console.log(dd); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description'; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={' button_align_center'} |
||||
onClick={(e) => addBasket(e)}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sun=33; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={' button_align_center'} |
||||
onClick={addBasket(e)}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sun=33; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={' button_align_center'} |
||||
onClick={addBasket(e)}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sun=33; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={' button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sum=33; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={' button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sum=33; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={'yelow button_size_32'} >Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,38 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sum=33; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
|
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,37 +0,0 @@ |
||||
import React from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sum=33; |
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,64 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { id: string | string[] }; |
||||
const title='dddd', feature='feature',description='description', sum=33; |
||||
const typeNames = ['тонкое', 'традиционное']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? 'active' : ''}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? 'active' : ''}> |
||||
{size} см. |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,66 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', feature='feature', description='description', sum=33, types=[1,2], sizes=[30,40, 50]; |
||||
const typeNames = ['тонкое', 'традиционное']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? 'active' : ''}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? 'active' : ''}> |
||||
{size} см. |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,66 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', feature='feature', description='description', sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
const typeNames = ['тонкое', 'традиционное']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? 'active' : ''}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? 'active' : ''}> |
||||
{size} см. |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,66 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', feature='feature', description='description', sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
const typeNames = ['тонкое тесто', 'традиционное тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? 'active' : ''}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? 'active' : ''}> |
||||
{size} см. |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,66 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', feature='feature', description='description', sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? 'active' : ''}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? 'active' : ''}> |
||||
{size} см. |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,66 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', feature='feature', description='description', sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? 'active' : ''}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? 'active' : ''}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,66 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', feature='feature', description='description', sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? 'active' : ''}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,66 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', feature='feature', description='description', sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,70 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} dfg dfgdf gdgdfgdf dfgdfg dfg dfg dfg df gdfg gdf gdf g |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,70 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,76 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
<Image |
||||
src={'/assets/img'+id} |
||||
alt={'pizza'} |
||||
width={336} |
||||
height={336} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,76 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
<Image |
||||
src={'/assets/img/0'+id} |
||||
alt={'pizza'} |
||||
width={336} |
||||
height={336} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,76 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
<Image |
||||
src={'/assets/img/'+id} |
||||
alt={'pizza'} |
||||
width={336} |
||||
height={336} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,76 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
<Image |
||||
src={'/assets/img/'+id+'.pmg'} |
||||
alt={'pizza'} |
||||
width={336} |
||||
height={336} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,76 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
<Image |
||||
src={'/assets/img/'+id+'.png'} |
||||
alt={'pizza'} |
||||
width={336} |
||||
height={336} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,76 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
{id} |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={336} |
||||
height={336} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,75 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={336} |
||||
height={336} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,75 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { RadioButton } from './index'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,74 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,74 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import classNames from 'classnames'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,95 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import classNames from 'classnames'; |
||||
import axios from 'axios'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
useEffect(() => { |
||||
const getData = async () => { |
||||
const { sortBy, order, category, search, currentPage } = params; |
||||
const { data } = await axios.get<Pizza[]>(`https://626d16545267c14d5677d9c2.mockapi.io/items`, { |
||||
params: pickBy( |
||||
{ |
||||
page: currentPage, |
||||
limit: 4, |
||||
category, |
||||
sortBy, |
||||
order, |
||||
search, |
||||
}, |
||||
identity, |
||||
), |
||||
}); |
||||
}; |
||||
getData(); |
||||
}, [id]); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,96 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import classNames from 'classnames'; |
||||
import axios from 'axios'; |
||||
import pickBy from 'lodash/pickBy'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
useEffect(() => { |
||||
const getData = async () => { |
||||
const { sortBy, order, category, search, currentPage } = params; |
||||
const { data } = await axios.get<Pizza[]>(`https://626d16545267c14d5677d9c2.mockapi.io/items`, { |
||||
params: pickBy( |
||||
{ |
||||
page: currentPage, |
||||
limit: 4, |
||||
category, |
||||
sortBy, |
||||
order, |
||||
search, |
||||
}, |
||||
identity, |
||||
), |
||||
}); |
||||
}; |
||||
getData(); |
||||
}, [id]); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,97 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import classNames from 'classnames'; |
||||
import axios from 'axios'; |
||||
import pickBy from 'lodash/pickBy'; |
||||
import identity from 'lodash/identity'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
useEffect(() => { |
||||
const getData = async () => { |
||||
const { sortBy, order, category, search, currentPage } = params; |
||||
const { data } = await axios.get('/api/loadingPizzaInformation', { |
||||
params: pickBy( |
||||
{ |
||||
page: currentPage, |
||||
limit: 4, |
||||
category, |
||||
sortBy, |
||||
order, |
||||
search, |
||||
}, |
||||
identity, |
||||
), |
||||
}); |
||||
}; |
||||
getData(); |
||||
}, [id]); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,85 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import classNames from 'classnames'; |
||||
import axios from 'axios'; |
||||
import pickBy from 'lodash/pickBy'; |
||||
import identity from 'lodash/identity'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
useEffect(() => { |
||||
const getData = async () => { |
||||
const { data } = await axios.get('/api/loadingPizzaInformation/'+id); |
||||
setRows(data); |
||||
}; |
||||
getData(); |
||||
}, [id]); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,86 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import classNames from 'classnames'; |
||||
import axios from 'axios'; |
||||
import pickBy from 'lodash/pickBy'; |
||||
import identity from 'lodash/identity'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
useEffect(() => { |
||||
const getData = async () => { |
||||
const { data } = await axios.get('/api/loadingPizzaInformation/'+id); |
||||
setRows(data); |
||||
}; |
||||
getData(); |
||||
console.log(rows); |
||||
}, [id]); |
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,79 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
|
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
|
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,86 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
|
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
useEffect(() => { |
||||
dispatch( fetchPizzaToCard() ); |
||||
}, [dispatch, id]); |
||||
|
||||
const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData); |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
|
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,89 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
|
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
useEffect(() => { |
||||
dispatch( fetchPizzaToCard() ); |
||||
}, [dispatch, id]); |
||||
|
||||
const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData); |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
|
||||
const pizza = pizzaToCard_items.map((obj, index) => <PizzaBlock key={index} {...obj}/> ); |
||||
const pizzaSkeleton = [...new Array(6)].map((_, index) => <PizzaSkeleton key={index} />); |
||||
|
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
@ -1,91 +0,0 @@ |
||||
import React, { useState, useEffect } from 'react'; |
||||
import { useSelector } from 'react-redux' |
||||
import Image from 'next/image'; |
||||
import Link from "next/link"; |
||||
import classNames from 'classnames'; |
||||
import { Modal, Button } from '../../../../../UI'; |
||||
import { useAppDispatch } from '../../../../../../redux/store'; |
||||
import { fetchPizzaToCard, selectPizzaToCartData } from '../../../../../../redux/pizzaToCart/'; |
||||
import console from 'console'; |
||||
|
||||
type Props = { |
||||
id: string | string[]; |
||||
}; |
||||
|
||||
const title='dddd', |
||||
feature='feature', |
||||
description='description', |
||||
sum=33, types=[0,1], sizes=[30,40, 50]; |
||||
|
||||
const typeNames = ['традиционное тесто','тонкое тесто']; |
||||
|
||||
const addBasket = () => { |
||||
console.log('add'); |
||||
} |
||||
|
||||
export const PizzaCard: React.FC<Props> = ({id}) => { |
||||
const dispatch = useAppDispatch(); |
||||
useEffect(() => { |
||||
dispatch( fetchPizzaToCard() ); |
||||
}, [dispatch, id]); |
||||
|
||||
const { pizzaToCard_items, pizzaToCard_status } = useSelector(selectPizzaToCartData); |
||||
const [activeType, setActiveType] = useState(0); |
||||
const [activeSize, setActiveSize] = useState(0); |
||||
const [rows, setRows] = useState([]); |
||||
|
||||
console.log(pizzaToCard_items); |
||||
//const pizza = pizzaToCard_items.map((obj, index) => <PizzaBlock key={index} {...obj}/> );
|
||||
//const pizzaSkeleton = [...new Array(6)].map((_, index) => <PizzaSkeleton key={index} />);
|
||||
|
||||
return ( |
||||
<Modal styles={'modal_product'} position={'position_product'}> |
||||
<div className='modal_body_left'> |
||||
<div className='modal_img'> |
||||
<Image |
||||
src={'/assets/img/'+id+'.jpg'} |
||||
alt={'pizza'} |
||||
width={400} |
||||
height={400} |
||||
/> |
||||
</div> |
||||
</div> |
||||
<div className='modal_body_right'> |
||||
<div className="modal_header"> |
||||
<h3 className="modal_title">{title}</h3> |
||||
<p className="modal_feature">{feature}</p> |
||||
<p className="modal_description">{description}</p> |
||||
<div className="pizza-block__selector"> |
||||
<ul> |
||||
{types.map((typeId) => ( |
||||
<li |
||||
key={typeId} |
||||
onClick={() => setActiveType(typeId)} |
||||
className={activeType === typeId ? classNames('active type') : classNames('type')}> |
||||
{typeNames[typeId]} |
||||
</li> |
||||
))} |
||||
</ul> |
||||
<ul> |
||||
{sizes.map((size, i) => ( |
||||
<li |
||||
key={size} |
||||
onClick={() => setActiveSize(i)} |
||||
className={activeSize === i ? classNames('active size') : classNames('size')}> |
||||
{size} см |
||||
</li> |
||||
))} |
||||
</ul> |
||||
</div> |
||||
<div className='modal_footer'> |
||||
<Button styles={'yellow button_size_48'} align={'button_align_center'} |
||||
onClick={addBasket}>В корзину за {sum} р</Button> |
||||
<Link href={"/"} as={"/"} scroll={false}> |
||||
<button className={classNames('yelow button_size_32')}>Закрыть </button> |
||||
</Link> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Modal> |
||||
); |
||||
}; |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue