Initial commit: Tapalka monorepo (bot, front, strapi)
This commit is contained in:
42
CMyTapper/robucks-front/components/shop/ShopContainer.tsx
Normal file
42
CMyTapper/robucks-front/components/shop/ShopContainer.tsx
Normal file
@@ -0,0 +1,42 @@
|
||||
'use client';
|
||||
|
||||
import Shop from '@/components/shop/Shop';
|
||||
import { useCallback, useState } from 'react';
|
||||
import { useModalStore } from '@/store/modal.state';
|
||||
|
||||
export interface IHandleOpen {
|
||||
image?: string;
|
||||
isDecimal?: boolean;
|
||||
priceItem?: number;
|
||||
shopItem?: number;
|
||||
}
|
||||
|
||||
const ShopContainer = () => {
|
||||
const [isOpen, setIsOpen] = useState<boolean>(false);
|
||||
|
||||
const { setShopItemId, setPriceItem, setImage, setIsDecimal } = useModalStore();
|
||||
|
||||
const handleClose = useCallback(() => {
|
||||
setIsOpen(false);
|
||||
}, []);
|
||||
|
||||
const handleOpen = useCallback((data: IHandleOpen) => {
|
||||
if (data.image && data.priceItem && data.shopItem && data.isDecimal !== undefined) {
|
||||
setIsDecimal(data.isDecimal);
|
||||
setImage(data.image);
|
||||
setPriceItem(data.priceItem);
|
||||
setShopItemId(data.shopItem);
|
||||
setIsOpen(true);
|
||||
} else {
|
||||
setIsOpen(true);
|
||||
setIsDecimal(true);
|
||||
setImage('/icons/small-coin-icon.svg');
|
||||
setPriceItem(0);
|
||||
setShopItemId(null);
|
||||
}
|
||||
}, []);
|
||||
|
||||
return <Shop isOpen={isOpen} handleClose={handleClose} handleOpen={handleOpen} />;
|
||||
};
|
||||
|
||||
export default ShopContainer;
|
||||
Reference in New Issue
Block a user