'use client'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { motion } from 'framer-motion'; import { ShoppingBag, Zap, Check, X, Filter } from 'lucide-react'; import useStore from '@/lib/store'; import MobileNav from '@/components/navigation/mobile-nav'; import CosmicCard from '@/components/ui/cosmic-card'; import Modal from '@/components/ui/modal'; import { storeCategories } from '@/lib/mockData'; import { toast } from 'sonner'; export default function StorePage() { const router = useRouter(); const { user, storeItems, purchaseItem } = useStore(); const [selectedCategory, setSelectedCategory] = useState('Все'); const [selectedItem, setSelectedItem] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); useEffect(() => { if (!user) { router.push('/login'); } }, [user, router]); if (!user) return null; const filteredItems = storeItems.filter( (item) => selectedCategory === 'Все' || item.category === selectedCategory ); const handlePurchase = () => { if (selectedItem && user.mana >= selectedItem.price) { const success = purchaseItem(selectedItem.id); if (success) { toast.success('Покупка успешна!', { description: `Вы приобрели ${selectedItem.name}`, }); setIsModalOpen(false); setSelectedItem(null); } } else { toast.error('Недостаточно маны', { description: 'Выполняйте миссии, чтобы заработать больше маны', }); } }; return (
Обменяйте ману на награды
{selectedItem.description}
Недостаточно маны. Необходимо еще {selectedItem.price - user.mana} маны.