How to hide my userInfo element

Moralis Web3 - YouTube

1 Like

Bro can i have your contact, how do i connect with you on other social platform apart from moralis?

You can write here in the forum or on Discord.
LocoTheDev#2383 but only contact me please for Moralis Support.

1 Like

Hello bro, how do i add the unlinked function to my code below?

const serverUrl = "https://mzrhanzmogsu.moralishost.com:2053/server";
const appId = "gFnTLmvgt8ZDUYMXF80FIonsCRqosKxXcfzmO2bM";
Moralis.start({ serverUrl, appId });

async function hide_buttons() {
    let user = await Moralis.User.current();
    if (!user) {
        document.getElementById("btnConnect").style.display = "block";
        document.getElementById("btnUserInfo").style.display = "none";
        document.getElementById("btnLogout").style.display = "none";
        document.getElementById("userInfo").style.display = "none";
    } else {
        document.getElementById("btnUserInfo").style.display = "block";
        document.getElementById("btnConnect").style.display = "none";
        document.getElementById("btnLogout").style.display = "block";
    }
}

hide_buttons();

async function login() {
    let user = Moralis.User.current();
    if (!user) {
        try {
            user = await Moralis.authenticate({
                signingMessage: "Welcome to GrandPaDoge NFT MarketPlace",
            });
        } catch (error) {
            alert(
                (error =
                    "Please consider installing Metamask to connect to MrGrandPaDoge NFT MarketPlace")
            );
        }
    }
    console.log("logged in user:", user);
    hide_buttons();
    const isWeb3Active = Moralis.ensureWeb3IsInstalled();

    if (isWeb3Active) {
        console.log("Activated");
    } else {
        async function enable() {
            await Moralis.enable();
        }
    }
}

async function logOut() {
    await Moralis.User.logOut();
    console.log("logged out");
    hide_buttons();
}

async function openuserInfo() {
    user = await Moralis.User.current();
    hide_buttons();
    if (user) {
        document.getElementById("userInfo").style.display = "block";
    } else {
        login();
    }
}

async function closeuserInfo() {
    user = await Moralis.User.current();
    hide_buttons();
    if (user) {
        document.getElementById("userInfo").style.display = "none";
    } else {
        logOut();
    }
}

Moralis.onAccountsChanged(async function(accounts) {
    const confirmed = confirm(
        "Are you sure you want to link this address to your account?"
    );
    if (confirmed) {
        await Moralis.link(accounts[0]);
        alert("Address added!");
        console.log("Address linked");
    }
});

document.getElementById("btnConnect").onclick = login;
document.getElementById("btnLogout").onclick = logOut;
document.getElementById("btnUserInfo").onclick = openuserInfo;
document.getElementById("btnCloseUserInfo").onclick = closeuserInfo;

This is the linked function code bro

Moralis.onAccountsChanged(async function(accounts) {
let user = Moralis.User.current();
if(user) {
    const confirmed = confirm(
        "Are you sure you want to link this address to your account?"
    );
    if (confirmed) {
        await Moralis.link(accounts[0]);
        alert("Address added!");
        console.log("Address linked");
    }
}
});

Add this function within your script tag

I want to set an unlinked function to the code how do i do that?

await Moralis.unlink(address);

Where should i add this function?

Where ever you want to unlink an account

By using same method right?

1 Like

Like this right?

Moralis.onAccountsChanged(async function(accounts) {
    let user = Moralis.User.current();
    if (user) {
        const confirmed = confirm(
            "Are you sure you want to unlink this address from your account?"
        );
        if (confirmed) {
            await Moralis.unlink(address);
            alert("Address unlink!");
            console.log("Address unlinked");
        }
    }
});

This method doesn’t work, it pops up along when linking the address

If you want to link an account and unlink the current one you will have to write the logic in the same Moralis.onAccountsChanged function. Dont write two functions like that

Please what am i missing bro?

Are you there bro?
How about this

Moralis.onAccountsChanged(async function(accounts) {
    await Moralis.unlink(address);
    if (user) {
        const confirmed = unlinked(
            "Are you sure you want to unlink this address from your account?"
        );
        if (confirmed) {
            alert("Address unlink!");
            console.log("Address unlinked");
        }
    }
});

Hello bro, please look up into my code. I want to add unlinked address into the function above how do I do that?

if you run await Moralis.unlink(address); directly in your browser console, it does that unlink correctly? (you’ll have to replace address with the address that you want to unlink)
that may be all that you have to do to unlink an address

Should i write it this way or how?

Moralis.onAccountsChanged(async function(accounts) {
    await Moralis.unlink(address);
    if (user) {
        const confirmed = unlinked(
            "Are you sure you want to unlink this address from your account?"
        );
        if (confirmed) {
            alert("Address unlink!");
            console.log("Address unlinked");
        }
    }
});

documentation: https://docs.moralis.io/moralis-server/web3/web3#linking

I don’t know what you did in that function
you can create a button that does only the unlink can calls
await Moralis.unlink(address);
but you’ll have to get current address in order to call Moralis.unlink