import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import { getAccessToken, usePrivy } from "@privy-io/react-auth"; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import Head from "next/head"; import { useBalance } from 'wagmi'; async function verifyToken() { const url = "/api/verify"; const accessToken = await getAccessToken(); const result = await fetch(url, { headers: { ...(accessToken ? { Authorization: `Bearer ${accessToken}` } : undefined), }, }); return await result.json(); } export default function DashboardPage() { const [verifyResult, setVerifyResult] = useState(0); const router = useRouter(); const { ready, authenticated, user, logout, linkTwitter, unlinkTwitter, unlinkDiscord, linkDiscord, unlinkWallet, linkWallet } = usePrivy(); const { data: balanceData } = useBalance({ // address: '0x4557B18E779944BFE9d78A672452331C186a9f48' address: user?.wallet?.address, }); const balance = balanceData?.formatted; const token = balanceData?.symbol; useEffect(() => { if (ready && !authenticated) { router.push("/"); } }, [ready, authenticated, router]); const numAccounts = user?.linkedAccounts?.length || 0; const canRemoveAccount = numAccounts > 1; const email = user?.email; const phone = user?.phone; const wallet = user?.wallet; const googleSubject = user?.google?.subject || null; const twitterSubject = user?.twitter?.subject || null; const discordSubject = user?.discord?.subject || null; return ( <>