// My account: SIWE sign-in, member state, free activation, invite link.
(async function () {
await IAP.renderNav('my');
const $ = IAP.$;
async function render() {
const me = await IAP.refreshNavWallet();
if (!me || !me.signedIn) { $('signinCard').hidden = false; $('memberArea').hidden = true; return; }
$('signinCard').hidden = true;
$('memberArea').hidden = false;
if (me.memberId) {
$('posLine').innerHTML = 'On-chain member #' + me.memberId + '
wallet '
+ me.address.slice(0, 8) + '…' + me.address.slice(-6) + ''
+ (me.onchainSponsorId ? '
sponsored by member #' + me.onchainSponsorId : '
no sponsor (house line)');
$('creditLine').textContent = (me.credits || 0).toLocaleString();
const bc = me.buyerCount || 0;
$('qualLine').innerHTML = '' + bc + ' qualifying buyer(s) referred
'
+ (bc >= 5 ? 'Level 3 unlocked: full three-level earnings'
: bc >= 2 ? 'Level 2 unlocked · ' + (5 - bc) + ' more for level 3'
: (2 - bc) + ' more ≥$20 buyer(s) unlock level 2');
$('activateCard').hidden = true;
$('inviteLine').textContent = location.origin + '/join/' + me.memberId;
$('copyInvite').hidden = false;
loadActivity();
} else {
$('posLine').innerHTML = 'Signed in as ' + me.address.slice(0, 8) + '…' + me.address.slice(-6)
+ '
free member, not on-chain yet'
+ (me.sponsorId ? '
invited by member #' + me.sponsorId : '');
$('creditLine').textContent = '0';
$('qualLine').textContent = 'Activate your payout wallet (or buy any package) to start; referrals who buy ≥$20 packages qualify you.';
$('activateCard').hidden = false;
$('inviteLine').textContent = 'Your link appears after your free on-chain activation.';
$('copyInvite').hidden = true;
}
}
async function loadActivity() {
try {
const c = await IAP.getConfig();
const a = await (await fetch('/api/my/activity')).json();
const fill = (id, evs, empty) => {
const el = $(id);
el.innerHTML = '';
if (!evs.length) { el.innerHTML = '