'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 (

Магазин

Обменяйте ману на награды

{user.mana}
Категория
{storeCategories.map((category) => ( setSelectedCategory(category)} className={`px-4 py-2 rounded-lg font-medium text-sm whitespace-nowrap transition-all ${ selectedCategory === category ? 'bg-purple-500 text-white' : 'bg-slate-800 text-slate-400 hover:bg-slate-700' }`} whileHover={{ scale: 1.05 }} whileTap={{ scale: 0.95 }} > {category} ))}
{filteredItems.map((item, index) => ( { setSelectedItem(item); setIsModalOpen(true); }} > {item.name}

{item.name}

{item.category}
{item.price}
))}
{ setIsModalOpen(false); setSelectedItem(null); }} title="Подтверждение покупки" > {selectedItem && (
{selectedItem.name}

{selectedItem.name}

{selectedItem.description}

Стоимость:
{selectedItem.price}
Ваш баланс:
{user.mana}
{user.mana < selectedItem.price && (

Недостаточно маны. Необходимо еще {selectedItem.price - user.mana} маны.

)}
)}
); }