import { Box, BrightIdIcon, Button, Flex, HStack, Link, Modal, ModalCloseButton, ModalContent, ModalOverlay, Text, useDisclosure, VStack, } from '@metafam/ds'; import { PlayerFragmentFragment } from 'graphql/autogen/types'; import { useUser, useWeb3 } from 'lib/hooks'; import { useBrightIdStatus, useBrightIdUpdated } from 'lib/hooks/brightId'; import React, { useEffect, useState } from 'react'; import { QRCode } from 'react-qr-svg'; import { isBackdropFilterSupported } from 'utils/compatibilityHelpers'; type Props = { player: PlayerFragmentFragment }; export const PlayerBrightId: React.FC = ({ player }) => { const { isOpen, onOpen, onClose } = useDisclosure(); const { user, fetching } = useUser(); const { verified, deeplink, universalLink } = useBrightIdStatus({ player }); const { isConnected } = useWeb3(); const [isLoggedInUser, setIsLoggedInUser] = useState(false); useEffect(() => { if (isConnected && !fetching && user?.id === player.id) { setIsLoggedInUser(true); } }, [user, fetching, isConnected, player.id]); useBrightIdUpdated({ player, poll: !verified && isOpen && isLoggedInUser }); const modalContentStyles = isBackdropFilterSupported() ? { backgroundColor: 'rgba(255,255,255,0.08)', backdropFilter: 'blur(8px)', } : { backgroundColor: 'rgba(7, 2, 29, 0.91)', }; if (verified || !isLoggedInUser) return null; return ( Verify on BrightID Open link in App {"Don't have BrightID yet? "} Get started here. ); };