import {useContext, createContext, useState, useEffect} from 'react';
import {UnielonWallet} from '@unielon/wallet-tg-sdk';

const WalletContext = createContext(null);

export const WalletProvider = ({children}) => {
    const [address, setAddress] = useState(null)
    const {unielon} = new UnielonWallet({debug:true,injected:false})

    useEffect(() => {
         unielon.connect().then(res=>{
             console.log(res)
            res && setAddress(res)
        })
    }, []);

    if(!unielon) return null

    return (
        <WalletContext.Provider value={{address,unielon}}>
            {children}
        </WalletContext.Provider>
    )
}

export const useWallet = () => {
    const context = useContext(WalletContext);
    if (!context) {
        throw new Error('useWallet must be used within a WalletProvider');
    }
    return context;
}
