diff options
| author | Adam Soltys <[email protected]> | 2026-06-24 14:41:36 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-24 14:41:36 -0700 |
| commit | c81616ed0024c0cec693b552de5c5b6d7056eff3 (patch) | |
| tree | a26b493f6590f3be33569c62f4f2769c60c32662 /src/i18n.js | |
| parent | 3463af1d81c2712d657bbf30ecba98ffe5873729 (diff) | |
| download | coinosv3-c81616ed0024c0cec693b552de5c5b6d7056eff3.tar.gz coinosv3-c81616ed0024c0cec693b552de5c5b6d7056eff3.zip | |
Add account switching and watch-only wallets
Accounts: a switcher (header chip → Accounts screen) lets you keep
several wallets loaded and flip between them without re-importing. Per
the chosen model, full (seed) accounts live only in sessionStorage —
ephemeral, no seed on disk; watch-only accounts (no seed) are persisted
in localStorage and reload across restarts. enterWallet is refactored
around an accounts list (add/switch/remove/lock); Add wallet reaches the
unlock screen with a back button.
Watch-only: load any wallet from its account xpub/zpub (parseAccountKey
normalizes zpub→xpub; the existing public-derivation path yields the
same addresses). Signing is blocked, the Send tab and seed/sync/offline
cards are hidden, and a watch-only note is shown. Settings gains a
"Public key" card (export this wallet's zpub) so it can be watched
read-only elsewhere.
Password-encrypted persistence for full accounts is the planned next
step. New strings translated across all 19 locales.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/i18n.js')
| -rw-r--r-- | src/i18n.js | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/i18n.js b/src/i18n.js index abb9015..f75e014 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -36,6 +36,23 @@ const STR = { appTitle: 'Hal Wallet', home: 'Home', logout: 'Logout', + accounts: 'Accounts', + addWallet: 'Add wallet', + lockAll: 'Lock all', + remove: 'Remove', + watchOnly: 'Watch-only', + watchOnlyTag: 'watch-only', + watchOnlyAdd: 'Add watch-only', + watchOnlyDesc: 'Watch any wallet from its account public key. You can receive and view balance and history, but not send.', + watchOnlyNote: 'This is a watch-only wallet. You can receive and view, but you cannot send.', + watchXpubLabel: 'Account xpub or zpub', + labelOptional: 'Label (optional)', + walletLabelN: 'Wallet {n}', + watchLabelN: 'Watch {n}', + publicKey: 'Public key', + publicKeyDesc: 'Share this to watch this wallet read-only on another device or app. It reveals your addresses, not your keys.', + copyKey: 'Copy key', + showPublicKey: 'Show public key', createNew: 'Create new', importExisting: 'Import existing', genIntro: 'Generate a new 12-word seed phrase. Write it down. It’s the only way to recover this wallet.', |
