import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import { getAccessToken, usePrivy } from "@privy-io/react-auth"; 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 [username, setUsername] = useState(''); const [vaultData, setVaultData] = useState({ prehp: "0", vc: "0" }); const router = useRouter(); const { ready, authenticated, user, logout, linkTwitter, unlinkTwitter, unlinkDiscord, linkDiscord, unlinkWallet, linkWallet } = usePrivy(); const { data: balanceData } = useBalance({ address: user?.wallet?.address as `0x${string}`, }); const balance = balanceData?.formatted; const token = balanceData?.symbol; useEffect(() => { if (ready && !authenticated) { router.push("/"); } }, [ready, authenticated, router]); useEffect(() => { async function fetchUsername() { if (ready) { try { const response = await fetch(`https://vps.playpoolstudios.com/metahunt/api/launcher/get_display_name_public.php?id=${user?.id}`); const data = await response.text(); setUsername(data); // Assuming the response contains the display name under `display_name` } catch (error) { console.error("Error fetching username:", error); } } } async function fetchVaultData() { if (user?.id) { try { const response = await fetch(`http://vps.playpoolstudios.com/metahunt/api/launcher/get_vault.php?id=${user?.id}`); const data = await response.json(); setVaultData({ prehp: data.prehp, vc: data.vc }); } catch (error) { console.error("Error fetching vault data:", error); } } } fetchUsername(); fetchVaultData(); }, [ready]); 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 ( <>