From c7d8f89c33323995c3f32a673b3c6116cb1e9967 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 28 Aug 2026 20:15:13 -0700 Subject: The logo wears its beta sticker — purple, tilted like staging's orange one, present from the static boot shell's very first paint so it never pops in MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_019eA8JRq9Wr7z2fRQk99HLi --- build.js | 9 ++++++--- src/app.js | 5 +++-- src/style.css | 5 +++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/build.js b/build.js index 94552fa..72ea98b9 100644 --- a/build.js +++ b/build.js @@ -332,8 +332,11 @@ async function brandSvg() { // before any JS parses — no blank page, no flash. It mirrors the DOM the // app's own first render produces (brand row; plus the profile shell when // the path deep-links a profile), so the morph replaces it invisibly. -function bootShell(logo) { - return `
`; +function bootShell(logo, staging) { + const badge = staging + ? 'staging' + : 'beta'; + return `
${badge}
`; } const BOOT_SHELL_SCRIPT = ``; @@ -350,7 +353,7 @@ async function pageHtml({ css, staging, pwa, scriptHtml }) { ${pwa ? PWA_HEAD : ''} -
${bootShell(await brandSvg())}
+
${bootShell(await brandSvg(), staging)}
${BOOT_SHELL_SCRIPT} ${scriptHtml} ${pwa ? SW_REGISTER + '\n' : ''} diff --git a/src/app.js b/src/app.js index 310e724..05a1c40 100644 --- a/src/app.js +++ b/src/app.js @@ -1995,8 +1995,9 @@ function brandHeader(withLock) { { class: 'row between' }, h( 'div', - { class: 'brand' + (STAGING ? ' staging' : ''), style: 'cursor:pointer', title: t('home'), onClick: goHome }, - STAGING ? h('span', { class: 'staging-badge', title: 'staging build — new wallets start on Mutinynet' }, 'staging') : null, + { class: 'brand' + (STAGING ? ' staging' : ' beta'), style: 'cursor:pointer', title: t('home'), onClick: goHome }, + STAGING ? h('span', { class: 'staging-badge', title: 'staging build — new wallets start on Mutinynet' }, 'staging') + : h('span', { class: 'beta-badge' }, 'beta'), h('div', { class: 'logo-full', 'aria-label': 'coinos', role: 'img', html: '' }) ), withLock diff --git a/src/style.css b/src/style.css index 2433d82..f0ec820 100644 --- a/src/style.css +++ b/src/style.css @@ -502,14 +502,15 @@ hr.divider { margin: 16px 0; } .confirm-pop { width: 100%; max-width: 340px; } /* staging builds: an unmissable stamp across the header logo */ -.brand.staging { position: relative; } -.staging-badge { +.brand.staging, .brand.beta { position: relative; } +.staging-badge, .beta-badge { position: absolute; left: 2px; bottom: -3px; z-index: 2; pointer-events: none; background: #f7931a; color: #fff; font-size: 9px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; line-height: 1; padding: 2px 6px; border-radius: 5px; transform: rotate(-6deg); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); } +.beta-badge { background: #6d28d9; } .wallet-row-btn { font-size: 19px; line-height: 1; padding: 8px 12px; } .chat-avatar.header-ava.fallback { align-items: center; justify-content: center; display: flex; color: var(--muted); } -- cgit v1.2.3