aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/app.js20
-rw-r--r--src/i18n.js2
-rw-r--r--tools/avatar-thumb-test.js2
-rw-r--r--tools/boot-balance-test.js2
-rw-r--r--tools/boot-signin-flash-test.js2
-rw-r--r--tools/compose-preview-test.js2
-rw-r--r--tools/feed-custom-test.js2
-rw-r--r--tools/feed-follow-test.js2
-rw-r--r--tools/feed-live-test.js2
-rw-r--r--tools/markdown-note-test.js2
-rw-r--r--tools/post-actions-test.js2
-rw-r--r--tools/profile-batch-test.js2
-rw-r--r--tools/profile-open-test.js2
-rw-r--r--tools/push-unavailable-test.js2
-rw-r--r--tools/quote-card-test.js2
-rw-r--r--tools/unifiedpush-test.js2
-rw-r--r--tools/youtube-embed-test.js2
-rw-r--r--tools/zap-tally-cache-test.js2
18 files changed, 36 insertions, 18 deletions
diff --git a/src/app.js b/src/app.js
index 58e026d..8190bf9 100644
--- a/src/app.js
+++ b/src/app.js
@@ -935,17 +935,30 @@ function unlockCard() {
// The entropy page takes the card over entirely — seed words, tabs and
// other controls step aside until Submit or Back.
if (ui.entropyPage) return h('div', { class: 'card col' }, entropyPage());
+ // Inside the first-run wizard the words are already on screen: no tabs,
+ // just a line underneath for whoever brought their own seed (and one back).
+ const wizard = ui.screen === 'unlock' && ui.onb && ui.onb.step === 'seed';
+ const swap = wizard ? h('button', {
+ class: 'linklike small', style: 'align-self:center',
+ onClick: () => {
+ clearSeedDrafts(); ui.unlockError = '';
+ if (ui.unlockTab === 'create') ui.unlockTab = 'import';
+ else { ui.unlockTab = 'create'; ui.createStep = 'gen'; ui.draftRandom = ui.draftMnemonic = newMnemonic(); }
+ render();
+ },
+ }, ui.unlockTab === 'create' ? t('onbHaveSeed') : t('onbCreateInstead')) : null;
return h(
'div',
{ class: 'card col' },
- h(
+ wizard ? null : h(
'div',
{ class: 'tabs' },
tabBtn(t('createNew'), ui.unlockTab === 'create', () => { clearSeedDrafts(); ui.unlockTab = 'create'; ui.unlockError = ''; render(); }),
tabBtn(t('importExisting'), ui.unlockTab === 'import', () => { clearSeedDrafts(); ui.unlockTab = 'import'; ui.unlockError = ''; render(); })
),
ui.unlockTab === 'create' ? createPane() : importPane(),
- ui.unlockError && h('div', { class: 'notice err' }, ui.unlockError)
+ ui.unlockError && h('div', { class: 'notice err' }, ui.unlockError),
+ swap
);
}
@@ -3361,6 +3374,9 @@ function onboardScreen() {
class: 'btn-primary btn-block', style: 'font-size:17px;padding:14px', onClick: () => {
ui.unlockTab = 'create';
ui.unlockError = '';
+ ui.createStep = 'gen';
+ // the words are the wallet: show them at once, no Generate to tap
+ if (!ui.draftMnemonic) ui.draftRandom = ui.draftMnemonic = newMnemonic();
o.step = 'seed';
render();
} }, t('onbStart')),
diff --git a/src/i18n.js b/src/i18n.js
index b6f7b93..c3fa08b 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -841,6 +841,8 @@ const STR = {
onbStart: 'Create a new wallet',
onbStartHint: "Takes a minute: write down twelve words and it's yours",
onbOrSignIn: 'or',
+ onbHaveSeed: 'Have an existing seed or entropy to import?',
+ onbCreateInstead: 'Create a new wallet instead',
onbBackupTitle: 'Write down your recovery phrase',
onbBackupBody: "Signing in was the easy part — but the sign-in isn't your wallet. These twelve words are. They're the only way back in if you lose access to that account, and nobody can reissue them for you.",
onbBackupDone: "I've written it down",
diff --git a/tools/avatar-thumb-test.js b/tools/avatar-thumb-test.js
index c776179..413a92b 100644
--- a/tools/avatar-thumb-test.js
+++ b/tools/avatar-thumb-test.js
@@ -74,7 +74,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mnemonic = generateMnemonic(wordlist);
await page.type('textarea', mnemonic);
diff --git a/tools/boot-balance-test.js b/tools/boot-balance-test.js
index c34712b..482149b 100644
--- a/tools/boot-balance-test.js
+++ b/tools/boot-balance-test.js
@@ -29,7 +29,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
await page.type('textarea', generateMnemonic(wordlist));
await click('open wallet');
diff --git a/tools/boot-signin-flash-test.js b/tools/boot-signin-flash-test.js
index b29bc63..b3460ca 100644
--- a/tools/boot-signin-flash-test.js
+++ b/tools/boot-signin-flash-test.js
@@ -28,7 +28,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
await page.type('textarea', generateMnemonic(wordlist));
await click('open wallet');
diff --git a/tools/compose-preview-test.js b/tools/compose-preview-test.js
index aac7941..08a94e3 100644
--- a/tools/compose-preview-test.js
+++ b/tools/compose-preview-test.js
@@ -42,7 +42,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/feed-custom-test.js b/tools/feed-custom-test.js
index af2401f..b989d87 100644
--- a/tools/feed-custom-test.js
+++ b/tools/feed-custom-test.js
@@ -86,7 +86,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/feed-follow-test.js b/tools/feed-follow-test.js
index 9537e9c..50a572b 100644
--- a/tools/feed-follow-test.js
+++ b/tools/feed-follow-test.js
@@ -32,7 +32,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mnemonic = generateMnemonic(wordlist);
await page.type('textarea', mnemonic);
diff --git a/tools/feed-live-test.js b/tools/feed-live-test.js
index 51cd415..c4807f1 100644
--- a/tools/feed-live-test.js
+++ b/tools/feed-live-test.js
@@ -92,7 +92,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/markdown-note-test.js b/tools/markdown-note-test.js
index d585fb6..2c5a539 100644
--- a/tools/markdown-note-test.js
+++ b/tools/markdown-note-test.js
@@ -51,7 +51,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/post-actions-test.js b/tools/post-actions-test.js
index b72c22e..22347b6 100644
--- a/tools/post-actions-test.js
+++ b/tools/post-actions-test.js
@@ -39,7 +39,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/profile-batch-test.js b/tools/profile-batch-test.js
index 8f8250c..4a993a5 100644
--- a/tools/profile-batch-test.js
+++ b/tools/profile-batch-test.js
@@ -69,7 +69,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/profile-open-test.js b/tools/profile-open-test.js
index da90af5..e2fcb3a 100644
--- a/tools/profile-open-test.js
+++ b/tools/profile-open-test.js
@@ -63,7 +63,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/push-unavailable-test.js b/tools/push-unavailable-test.js
index 4808501..32fddff 100644
--- a/tools/push-unavailable-test.js
+++ b/tools/push-unavailable-test.js
@@ -39,7 +39,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/quote-card-test.js b/tools/quote-card-test.js
index 695ee93..27a1b22 100644
--- a/tools/quote-card-test.js
+++ b/tools/quote-card-test.js
@@ -39,7 +39,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/unifiedpush-test.js b/tools/unifiedpush-test.js
index 6a3819c..9bdb4cb 100644
--- a/tools/unifiedpush-test.js
+++ b/tools/unifiedpush-test.js
@@ -56,7 +56,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/youtube-embed-test.js b/tools/youtube-embed-test.js
index a70272c..b32eb98 100644
--- a/tools/youtube-embed-test.js
+++ b/tools/youtube-embed-test.js
@@ -23,7 +23,7 @@ await page.evaluate(() => { localStorage.setItem('btc-wallet-network', 'regtest'
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
-await click('import existing'); await sleep(400);
+await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mn = generateMnemonic(wordlist);
await page.type('textarea', mn);
diff --git a/tools/zap-tally-cache-test.js b/tools/zap-tally-cache-test.js
index 4e91260..b1e37b6 100644
--- a/tools/zap-tally-cache-test.js
+++ b/tools/zap-tally-cache-test.js
@@ -25,7 +25,7 @@ try {
await page.reload({ waitUntil: 'domcontentloaded' });
await sleep(400);
await click('create a new wallet'); await sleep(500);
- await click('import existing'); await sleep(400);
+ await click('to import'); await sleep(400);
await page.waitForSelector('textarea');
const mnemonic = generateMnemonic(wordlist);
await page.type('textarea', mnemonic);