import React from 'react'; import { Modal, ModalOverlay, ModalContent, ModalHeader, ModalCloseButton, ModalBody, ModalFooter, Button, VStack, HStack, Text, Badge, Icon, useColorModeValue, Spinner, } from '@chakra-ui/react'; import { useQuery } from '@tanstack/react-query'; import { getAchievements } from '../../services/engagement'; import { CheckCircle, Circle } from 'lucide-react'; export type AchievementsModalProps = { isOpen: boolean; onClose: () => void; onOpenRewards?: () => void; }; const AchievementsModal: React.FC = ({ isOpen, onClose, onOpenRewards }) => { const cardBg = useColorModeValue('gray.50', 'gray.800'); const q = useQuery({ queryKey: ['engagement', 'achievements'], queryFn: getAchievements, enabled: isOpen, staleTime: 10000, }); const items = q.data?.achievements || []; const counters = q.data?.counters || {} as any; return ( Úspěchy {q.isLoading ? ( Načítám… ) : ( Komentáře: {counters?.comments ?? 0} Hlasování: {counters?.votes ?? 0} Newsletter: {counters?.newsletter ? 'ANO' : 'NE'} {items.map((a: any) => ( {a.title} {a.description} {a.points} bodů ))} )} {onOpenRewards && ( )} ); }; export default AchievementsModal;