diff options
| author | Adam Soltys <[email protected]> | 2026-08-04 07:32:49 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-08-04 07:32:49 -0700 |
| commit | 40c26324c556dc47be7e392391420183a36a6c3d (patch) | |
| tree | 3ff403375171725dc9ff3755195dbada2a87f89f | |
| parent | 0871281ff921fabf24aba94656dd3c375958a973 (diff) | |
| download | coinosv3-40c26324c556dc47be7e392391420183a36a6c3d.tar.gz coinosv3-40c26324c556dc47be7e392391420183a36a6c3d.zip | |
More options also points at Savings for a plain on-chain address
Not a pane of its own: a regular Bitcoin address means receiving to
Savings, so the entry switches the account selector over and lets the
savings receive view show its fresh address.
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015QwAtBSpKvECqp1rHLHjJk
| -rw-r--r-- | src/app.js | 1 | ||||
| -rw-r--r-- | src/features/names.js | 9 | ||||
| -rw-r--r-- | src/i18n.js | 2 |
3 files changed, 10 insertions, 2 deletions
@@ -3614,6 +3614,7 @@ const ctx = { // build without the target feature simply gets null back hook: (name, ...args) => featureHook(name, ...args), getAccount: () => accountSel(), + setAccount: (a, dir) => setAccountSel(a, dir), // Open (or create) a wallet from a mnemonic — used by nostr login. openMnemonic: async (mnemonic, passphrase, opts) => enterWallet(mnemonic, passphrase, opts), // A nostr login that lands mid-wizard: a restored wallet has been through diff --git a/src/features/names.js b/src/features/names.js index 47bf0c6..afd681c 100644 --- a/src/features/names.js +++ b/src/features/names.js @@ -23,7 +23,7 @@ const DOMAIN = 'coinos.io'; const AUTH_KIND = 21353; export function namesFeature(ctx) { - const { h, ui, render, wallet, hook, toast, copy, copyBtn, brandHeader, goBack } = ctx; + const { h, ui, render, wallet, hook, toast, copy, copyBtn, brandHeader, goBack, setAccount } = ctx; // The wallet's own key signs registrar requests: it's the one key that is // always available — offline, in the background, with no signer attached. @@ -479,7 +479,12 @@ export function namesFeature(ctx) { opt('bolt11', t('namesMoreBolt11'), t('namesMoreBolt11How')), opt('bolt12', t('namesMoreBolt12'), t('namesMoreBolt12How'), loadOffers), opt('ark', t('namesMoreArk'), t('namesMoreArkHow')), - opt('clink', t('namesMoreClink'), t('namesMoreClinkHow'))); + opt('clink', t('namesMoreClink'), t('namesMoreClinkHow')), + // Not a pane: a plain on-chain address means receiving to Savings, so + // this hands over to the savings receive view instead of showing a + // second address here. + opt('onchain', t('namesMoreOnchain'), t('namesMoreOnchainHow'), + () => { ui.namesMore = null; setAccount('savings'); })); } function moreSection() { diff --git a/src/i18n.js b/src/i18n.js index fdb5ccc..6fcf01f 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -607,6 +607,8 @@ const STR = { namesMoreArkHow: 'Get paid directly from any Ark wallet', namesMoreClink: 'Nostr offer (CLINK)', namesMoreClinkHow: 'A static code Nostr wallets can pay', + namesMoreOnchain: 'Bitcoin address (on-chain)', + namesMoreOnchainHow: 'Switch to Savings for a regular on-chain address', namesInvAmountPh: 'Amount (sats)', namesInvMemoPh: 'Description (optional)', namesInvCreate: 'Create invoice', |
