import { usePrivy } from "@privy-io/react-auth"; import axios from "axios"; import Head from "next/head"; import { useRouter } from "next/router"; import { SetStateAction, useEffect, useState } from "react"; export default function LoginComplete() { const [username, setUsername] = useState(""); const [error, setError] = useState(""); const {ready, user,authenticated} = usePrivy(); const router = useRouter(); const handleUsernameChange = (e: { target: { value: SetStateAction; }; }) => { setUsername(e.target.value); setError(""); }; useEffect(()=>{ if (ready && !authenticated) { router.push("/"); } },[ready, user]) const setResult = async (result: string, wallet: string) => { const params = new URLSearchParams(window.location.search); const requestIdFromUrl = params.get('request_id'); if (!result.includes('privy')) { return; } try { //Get username from database const response = await fetch(`https://vps.playpoolstudios.com/metahunt/api/launcher/get_display_name_public.php?id=${user?.id}`); const databaseUsername = await response.text(); if (databaseUsername == "-1") { console.log(user?.id); router.push("/logincomplete?request_id=" + requestIdFromUrl); return; } await axios({ method: 'get', url: `https://vps.playpoolstudios.com/metahunt/api/launcher/set_request_response.php`, withCredentials: false, params: { id: requestIdFromUrl, result: result }, }); console.log(`https://vps.playpoolstudios.com/metahunt/api/launcher/set_request_response.php?id=${requestIdFromUrl}&result=${result}`); await axios({ method: 'get', url: `https://vps.playpoolstudios.com/metahunt/api/launcher/set_wallet.php`, withCredentials: false, params: { id: result, wallet: wallet, init: "true" }, }); } catch (error) { console.error('Error making GET request:', error); } }; const handleClaim = async () => { try { const response = await fetch( `https://vps.playpoolstudios.com/metahunt/api/web/validate_username.php?username=${username}` ); const data = await response.text(); if (data === "0") { const url = `https://vps.playpoolstudios.com/metahunt/api/web/set_username.php?id=${user?.id}&username=${username}&address=${user?.wallet?.address}`; await fetch( url ); // Optionally, handle successful username set setResult(user?.id ?? "", user?.wallet?.address ?? ""); console.log("Username successfully set!"); router.push("/dashboard"); } else { setUsername(""); setError(`Sorry, ${username} is not available`); } } catch (error) { console.error("Error:", error); setError("An error occurred. Please try again."); } }; return ( <> Complete Login

Complete Your Login

Enter your unique username

{error &&

{error}

}
); }