'use client'; import React from 'react'; import { Box, SimpleGrid, Button, Text, Image, useToast } from '@chakra-ui/react'; import { IShopItem } from '../../backend/models/ShopItem'; interface ShopProps { items: IShopItem[]; userBalance: number; onPurchase: (item: IShopItem) => Promise; } export function Shop({ items, userBalance, onPurchase }: ShopProps) { const toast = useToast(); const handlePurchase = async (item: IShopItem) => { if (userBalance < item.price) { toast({ title: 'Недостаточно средств', description: `Для покупки ${item.name} нужно ${item.price} монет`, status: 'error', duration: 3000, isClosable: true, }); return; } await onPurchase(item); }; return ( Магазин Ваш баланс: {userBalance} монет {items.map((item) => ( {item.imageUrl && ( {item.name} )} {item.name} {item.description} {item.price} монет ))} ); }