Add wallet balance widget to the profile menu (after Billing)
Deploy Ladill Servers / deploy (push) Successful in 22s

Wallet balance peek rendered as a menu row directly under Billing, backed by
a /wallet/balance endpoint (BillingClient) and guarded by Route::has. Also
opens Afia via a direct window event for reliability.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
isaacclad
2026-06-23 12:25:41 +00:00
co-authored by Claude Opus 4.8
parent dac9fd37fc
commit 6ba9d7ba2d
9 changed files with 96 additions and 2 deletions
+20
View File
@@ -555,6 +555,26 @@ window.serverOrderForm = (products = {}, billingCycleLabels = {}, initial = {})
},
});
// Wallet balance peek for the avatar dropdown.
Alpine.data('walletWidget', (config = {}) => ({
display: '…',
async load() {
if (! config.url) {
this.display = 'View wallet';
return;
}
try {
const res = await fetch(config.url, { headers: { Accept: 'application/json', 'X-Requested-With': 'XMLHttpRequest' } });
const data = await res.json();
this.display = data.available ? data.formatted : 'View wallet';
} catch (e) {
this.display = 'View wallet';
}
},
}));
window.Alpine = Alpine;
registerLadillConfirmStore(Alpine);