diff options
| author | Adam Soltys <[email protected]> | 2026-11-15 14:29:52 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-11-15 14:29:52 -0700 |
| commit | 513fd7db08fb3c7e89fe651ac70913264a4bff22 (patch) | |
| tree | a1b5e84f0bb90dc2e5d816259eff14b7650c5e97 /tools | |
| parent | 392e73b9d163f39555895e9652d3a80f41cce6f3 (diff) | |
| download | coinosv3-513fd7db08fb3c7e89fe651ac70913264a4bff22.tar.gz coinosv3-513fd7db08fb3c7e89fe651ac70913264a4bff22.zip | |
No footer once a wallet is open, no empty history, no default name on a lone balance. "Actually those can go into settings too. And let's not show an empty history section just keep it hidden until we have history. I don't think we need the spending account name by default let's leave it blank unless the user supplies one" (Adam, 2026-11-15). The language and currency pickers now sit at the top of the Settings hub; the footer under every page is gone while a wallet is open (a visitor reading the public feed, with no wallet and so no Settings, still has them there; the wizard keeps its language picker). The wallet's history shows nothing at all until there's a first payment, instead of a 'No transactions yet' card. A single-balance account (a sign-up's Spending) shows no SPENDING over its amount unless its owner named it; the two-face carousel keeps Spending/Savings. footer-support (no footer with a wallet, pickers in Settings, About), signup-quick (no name on the lone face), chat-layout, onboard-backup, balance-settings-row, feed-window-dom and features-smoke pass
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01VMan6SwkivduFDDkMmnXjZ
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/chat-layout-test.js | 2 | ||||
| -rw-r--r-- | tools/footer-support-test.js | 9 | ||||
| -rw-r--r-- | tools/signup-quick-test.js | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/tools/chat-layout-test.js b/tools/chat-layout-test.js index 7c79858..a0f00ad 100644 --- a/tools/chat-layout-test.js +++ b/tools/chat-layout-test.js @@ -164,7 +164,7 @@ try { console.log('\n[direct messages]'); await page.click('.chat-back'); await sleep(500); - check('footer returns when the conversation closes', await page.$eval('.footer', (el) => getComputedStyle(el).display !== 'none')); + // (no footer to bring back: with a wallet open the pickers live in Settings, 2026-11-15) await click('button', 'New message'); await setInput('input[placeholder*="npub" i]', '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'); await click('button', 'Open'); diff --git a/tools/footer-support-test.js b/tools/footer-support-test.js index 93ae8a1..0de6c9a 100644 --- a/tools/footer-support-test.js +++ b/tools/footer-support-test.js @@ -1,5 +1,5 @@ // "Show your support" lives on Settings → About (2026-11-15: the footer is -// just the language and currency now) and opens the hat shop; it shows only +// gone once a wallet is open; language and currency top the Settings hub) and opens the hat shop; it shows only // once a wallet is open (the shop pays from it). // Run: bun tools/footer-support-test.js import puppeteer from './puppeteer.js'; @@ -39,8 +39,11 @@ try { } await sleep(1500); const f = await footerOnly(); - check('the footer is the language and currency alone', f && f.selects === 2 && f.other === 0, JSON.stringify(f)); - await openAbout(); + check('with a wallet open there is no footer', !f || (await page.$eval('.footer', (el) => getComputedStyle(el).display === 'none')), JSON.stringify(f)); + await page.evaluate(() => [...document.querySelectorAll('button')].find((e) => e.getAttribute('aria-label') === 'Settings').click()); await sleep(500); + check('Settings carries the language and currency', await page.evaluate(() => document.querySelectorAll('.settings-prefs select').length) === 2); + if (process.env.SHOT2) await page.screenshot({ path: process.env.SHOT2 }); + await page.evaluate(() => [...document.querySelectorAll('.settings-tile')].find((e) => /^About/.test(e.textContent.trim())).click()); await sleep(500); const about = await page.evaluate(() => document.querySelector('.about-card')?.innerText || ''); check('About has the credits, How it works, the theme and the commit', /Adam Soltys/.test(about) && /git\.coinos\.io/.test(about) && /How it works/.test(about) && /(Dark|Light) mode/.test(about) && /Running git commit [0-9a-f]{7}/.test(about), about.replace(/\n/g, ' | ')); check('...and "Show your support"', await link()); diff --git a/tools/signup-quick-test.js b/tools/signup-quick-test.js index 673319a..d648a70 100644 --- a/tools/signup-quick-test.js +++ b/tools/signup-quick-test.js @@ -81,7 +81,7 @@ try { body: document.body.innerText, })); let s = await shape(); - check('in, on Spending alone (no Savings face)', s.faces === 1 && !s.carousel && /spending/i.test(s.label || ''), JSON.stringify({ faces: s.faces, carousel: s.carousel, label: s.label })); + check('in, on Spending alone (no Savings face, no name on it)', s.faces === 1 && !s.carousel && !s.label, JSON.stringify({ faces: s.faces, carousel: s.carousel, label: s.label })); check('a quiet line asks for a way back in', /add a way back into your account/i.test(s.body)); const acct = await page.evaluate(() => JSON.parse(sessionStorage.getItem('btc-wallet-accounts') || '{}')); const a0 = (acct.accounts || [])[0] || {}; |
