Show the user's balance in the navbar

Adds a navbar-balance span next to the username, kept in sync by the
existing refreshMe() calls (login, after a bet, after a withdrawal, manual
refresh) — no new endpoint needed, /users/me already returns balance_sats.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 14:36:30 +02:00
co-authored by Claude Sonnet 5
parent c4f6f2eed7
commit 2b645f5e37
+3
View File
@@ -113,6 +113,7 @@
.app-navbar-top .brand { font-weight: 700; font-size: 1rem; letter-spacing: -0.01em; } .app-navbar-top .brand { font-weight: 700; font-size: 1rem; letter-spacing: -0.01em; }
.app-navbar-account { display: flex; align-items: center; gap: 10px; } .app-navbar-account { display: flex; align-items: center; gap: 10px; }
.app-navbar-account .name { font-weight: 600; font-size: 0.85rem; } .app-navbar-account .name { font-weight: 600; font-size: 0.85rem; }
.app-navbar-account .navbar-balance { font-weight: 600; font-size: 0.85rem; color: var(--color-primary); white-space: nowrap; }
.app-navbar-tabs { max-width: 480px; margin: 0 auto; padding: 0 12px; display: flex; } .app-navbar-tabs { max-width: 480px; margin: 0 auto; padding: 0 12px; display: flex; }
.app-navbar-tabs button.navbar-tab { .app-navbar-tabs button.navbar-tab {
@@ -293,6 +294,7 @@
<span class="brand">PLM Lottery</span> <span class="brand">PLM Lottery</span>
<div class="app-navbar-account"> <div class="app-navbar-account">
<span class="name" id="dash-username"></span> <span class="name" id="dash-username"></span>
<span class="navbar-balance mono" id="navbar-balance">— PLM</span>
<a class="link" href="/guida" target="_blank" rel="noopener">Guida</a> <a class="link" href="/guida" target="_blank" rel="noopener">Guida</a>
<a class="link" href="https://github.com/REPLACE_ME/plm-lottery/issues/new" target="_blank" rel="noopener">Segnala un bug</a> <a class="link" href="https://github.com/REPLACE_ME/plm-lottery/issues/new" target="_blank" rel="noopener">Segnala un bug</a>
<button class="link" onclick="logout()">Esci</button> <button class="link" onclick="logout()">Esci</button>
@@ -908,6 +910,7 @@ async function refreshMe() {
const data = await call('GET', '/users/me'); const data = await call('GET', '/users/me');
myUserId = data.id; myUserId = data.id;
document.getElementById('dash-balance').textContent = data.balance_sats / SATS_PER_PLM; document.getElementById('dash-balance').textContent = data.balance_sats / SATS_PER_PLM;
document.getElementById('navbar-balance').textContent = (data.balance_sats / SATS_PER_PLM) + ' PLM';
document.getElementById('profile-username').textContent = data.username; document.getElementById('profile-username').textContent = data.username;
document.getElementById('profile-address').textContent = data.address; document.getElementById('profile-address').textContent = data.address;
document.getElementById('profile-balance').textContent = data.balance_sats / SATS_PER_PLM; document.getElementById('profile-balance').textContent = data.balance_sats / SATS_PER_PLM;