Design pass v1: DeFi-flash visual system with real on-chain counters

Aurora ground, glass panels, gradient pill CTAs, Sora display face, live
money ticker, stat band fed by chain totals (tallied in the indexer with
one-time backfill), format showcase, Branded Voice FAQ accordions. CSP
extended for Google Fonts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-04 13:15:14 -05:00
parent bee13ba4b8
commit ca3c9f3063
7 changed files with 200 additions and 53 deletions
+2 -2
View File
@@ -43,7 +43,7 @@ function siteConfig() {
const MIME = { '.html': 'text/html; charset=utf-8', '.css': 'text/css', '.js': 'text/javascript',
'.png': 'image/png', '.jpg': 'image/jpeg', '.svg': 'image/svg+xml', '.webp': 'image/webp',
'.ico': 'image/x-icon', '.json': 'application/json', '.mp4': 'video/mp4', '.woff2': 'font/woff2' };
const CSP = "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self'; font-src 'self' data:; form-action 'self'";
const CSP = "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https:; connect-src 'self'; font-src 'self' data: https://fonts.gstatic.com; form-action 'self'";
function baseHeaders(extra) {
return Object.assign({ 'Content-Security-Policy': CSP, 'X-Content-Type-Options': 'nosniff',
'Referrer-Policy': 'strict-origin-when-cross-origin' }, extra || {});
@@ -135,7 +135,7 @@ const server = http.createServer(async (req, res) => {
}
if (p === '/api/stats' && req.method === 'GET') {
let members = 0; try { members = await chain.memberCount(); } catch (e) {}
return json(res, 200, { onchainMembers: members, siteAccounts: accounts.count() });
return json(res, 200, Object.assign({ onchainMembers: members, siteAccounts: accounts.count() }, chain.totals()));
}
// -- accounts: email + password is the normal join path (wallet comes