Member area: loading spinner instead of flashing the sign-in card

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-10 08:17:55 -05:00
parent 7708e602ae
commit bcc895dc8d
16 changed files with 24 additions and 17 deletions
+4 -1
View File
@@ -486,7 +486,10 @@
document.getElementById('memberArea').classList.toggle('side-open'));
async function render() {
const me = await IAP.refreshNavWallet();
// while /api/me answers, show a spinner instead of flashing the sign-in card at a signed-in member
let me = null;
try { me = await IAP.refreshNavWallet(); } catch (e) { me = null; }
if ($('bootSpin')) $('bootSpin').hidden = true;
// one way in: email. A wallet-only session (no account) is sent back to the
// email card with a finish-setup note; verifying the code links that wallet.
const walletOnly = !!(me && me.signedIn && !me.email);
+3
View File
@@ -210,6 +210,9 @@ tr:last-child td{border-bottom:0}
.spend-banner .sub{color:var(--ink);font-size:15px}
.spend-banner .rates{display:flex;gap:8px 18px;flex-wrap:wrap;justify-content:center;margin-top:12px;font-size:12.5px;color:var(--muted)}
.spend-banner .rates b{color:var(--ink)}
.boot-spin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:60vh}
.boot-spin .ring{width:46px;height:46px;border-radius:50%;border:4px solid rgba(67,232,195,.18);border-top-color:var(--mint);animation:bootspin .9s linear infinite}
@keyframes bootspin{to{transform:rotate(360deg)}}
.done-big{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;text-align:center}
.done-big .tick{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:48px;font-weight:800;color:var(--mint-ink);background:var(--mint);box-shadow:0 0 0 10px rgba(67,232,195,.15),0 10px 30px rgba(67,232,195,.35)}
.done-big b{font-family:var(--disp);font-size:22px;margin-top:8px}