aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-09-21 12:16:17 -0700
committerAdam Soltys <[email protected]>2026-09-21 12:16:17 -0700
commit8dbbe74b2bf9714370197816928c93fe3a34cbd4 (patch)
treed87182c0c85d2cbdc08215c99d1ad676ecfd37f1 /src/app.js
parent5c84bced9f4577352f9377551991747f529193c2 (diff)
downloadcoinosv3-8dbbe74b2bf9714370197816928c93fe3a34cbd4.tar.gz
coinosv3-8dbbe74b2bf9714370197816928c93fe3a34cbd4.zip
Seed words read down each column; the Google central is a parameter with a door to the previous one.
Word grids flow down a column then the next, with the row count from the word count — on a phone the first column is 1–6, the way a hand copies a list. pomegranate.js takes the central as an option (CENTRALS.coinos is auth.coinos.io, now deployed; the default stays auth.njump.me until its Google client is live), and the sign-in card grows a "previous server" line once the default moves, so accounts made under njump keep working. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01Tmfg8k5f3TbNJS34qiqHAp
Diffstat (limited to 'src/app.js')
-rw-r--r--src/app.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/app.js b/src/app.js
index a0be9c8..5f7bbee 100644
--- a/src/app.js
+++ b/src/app.js
@@ -1095,7 +1095,7 @@ function createPane() {
h('div', { class: 'warn-box' }, t('writeDownWarn')),
h(
'div',
- { class: 'words' },
+ { class: 'words', style: '--rows-3:' + Math.ceil(words.length / 3) + ';--rows-2:' + Math.ceil(words.length / 2) },
words.map((w, i) =>
h('div', { class: 'w' }, h('span', { class: 'n' }, i + 1), h('span', { class: 't' }, w))
)
@@ -3053,7 +3053,7 @@ function recoveryCard(a) {
return h('div', { class: 'card col' },
h('h3', {}, t('recoveryPhrase')),
h('div', { class: 'warn-box' }, t('recoveryWarn')),
- h('div', { class: 'words' }, words.map((w, i) =>
+ h('div', { class: 'words', style: '--rows-3:' + Math.ceil(words.length / 3) + ';--rows-2:' + Math.ceil(words.length / 2) }, words.map((w, i) =>
h('div', { class: 'w' + (unmasked ? '' : ' masked') },
h('span', { class: 'n' }, i + 1),
h('span', { class: 't' }, unmasked ? w : '••••••')))),
@@ -3405,7 +3405,7 @@ function onboardScreen() {
title(t('onbBackupTitle')),
h('p', { class: 'muted', style: 'margin:0' }, t('onbBackupBody')),
h('div', { class: 'warn-box' }, t('writeDownWarn')),
- h('div', { class: 'words' }, words.map((w, i) =>
+ h('div', { class: 'words', style: '--rows-3:' + Math.ceil(words.length / 3) + ';--rows-2:' + Math.ceil(words.length / 2) }, words.map((w, i) =>
h('div', { class: 'w' }, h('span', { class: 'n' }, i + 1), h('span', { class: 't' }, w)))),
h('div', { class: 'row gap6' }, copyBtn(acc.mnemonic, t('copyPhrase'))),
h('button', { class: 'btn-primary btn-block', style: 'padding:14px', onClick: done }, t('onbBackupDone')),