77 lines
2.3 KiB
TypeScript
77 lines
2.3 KiB
TypeScript
"use client";
|
|
|
|
import { useEffect, useState } from 'react';
|
|
import axios from 'axios';
|
|
import { PrivyProvider, usePrivy } from '@privy-io/react-auth';
|
|
|
|
const Home: React.FC = () => {
|
|
const { login, ready, user } = usePrivy();
|
|
|
|
useEffect(() => {
|
|
|
|
const setResult = async (result: string, wallet:string) => {
|
|
const params = new URLSearchParams(window.location.search);
|
|
const requestIdFromUrl = params.get('request_id');
|
|
try {
|
|
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
|
|
},
|
|
});
|
|
} catch (error) {
|
|
console.error('Error making GET request:', error);
|
|
}
|
|
};
|
|
|
|
const requestIdFromUrl = new URLSearchParams(window.location.search).get('request_id');
|
|
|
|
if(!ready){
|
|
console.log("not ready yet");
|
|
}
|
|
else if (requestIdFromUrl) {
|
|
setResult(user?.id ?? "", user?.wallet?.address ?? "no wallet"); // Replace 'some_result' with the actual result you want to send
|
|
}
|
|
}, [ready, user]);
|
|
|
|
return (
|
|
<div className='flex flex-col items-center justify-center h-full'>
|
|
{user && ready ? (
|
|
<div>
|
|
<h1 className='neon-text mb-4 text-3xl'>Login Success. You may close this now.</h1>
|
|
<h1>{ user.wallet?.address }</h1>
|
|
</div>
|
|
|
|
) : (
|
|
<>
|
|
<h1 className='neon-text mb-4 text-3xl'>Complete W3B Wallet Login</h1>
|
|
<button className='bg-green-700 rounded-full p-1 px-4 text-lg m-5' onClick={login}>Login</button>
|
|
</>
|
|
)}
|
|
</div>
|
|
);
|
|
};
|
|
|
|
const App: React.FC = () => {
|
|
return (
|
|
<PrivyProvider appId={process.env.NEXT_PUBLIC_PRIVY_APP_ID || 'clww47dl8012n33vqoc9xsy5o'}>
|
|
<Home />
|
|
</PrivyProvider>
|
|
);
|
|
};
|
|
|
|
export default App;
|