aboutsummaryrefslogtreecommitdiffstats
path: root/src/app.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.js')
-rw-r--r--src/app.js15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/app.js b/src/app.js
index a3670c0..b02cd58 100644
--- a/src/app.js
+++ b/src/app.js
@@ -1878,6 +1878,12 @@ function vaultScreen() {
}
function walletScreen() {
+ // A feature can hold the wallet behind a required onboarding step (picking
+ // a username). Imported wallets skip it once their name is recovered.
+ const ob = featureHook('onboardingView');
+ if (ob) {
+ return h('div', { class: 'col', style: 'gap:0' }, brandHeader(false), h('div', { class: 'mt16' }, ob));
+ }
return h(
'div',
{ class: 'col', style: 'gap:0' },
@@ -2048,11 +2054,14 @@ function receiveTab() {
// the enabled features contribute (Lightning, silent payment, Ark, ...).
const fresh = wallet.freshReceive();
const featModes = featureAll('receiveModes');
- let mode = ui.receiveType || 'address';
- if (mode !== 'address' && !featModes.some((m) => m.id === mode)) mode = 'address';
+ // The payment name leads: it's the address most people should hand out.
+ const nameMode = featModes.find((m) => m.id === 'name');
+ let mode = ui.receiveType || (nameMode ? 'name' : 'address');
+ if (mode !== 'address' && !featModes.some((m) => m.id === mode)) mode = nameMode ? 'name' : 'address';
const opts = [
+ ...(nameMode ? [{ id: 'name', label: nameMode.label, icon: nameMode.icon }] : []),
{ id: 'address', label: t('receiveAddressTab'), icon: BITCOIN_ICON(20) },
- ...featModes.map((m) => ({ id: m.id, label: m.label, icon: m.icon })),
+ ...featModes.filter((m) => m.id !== 'name').map((m) => ({ id: m.id, label: m.label, icon: m.icon })),
];
const seg = opts.length > 1
? iconSelect(opts, mode, (id) => { ui.receiveType = id; render(); })