aboutsummaryrefslogtreecommitdiffstats
path: root/src/i18n.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-28 09:57:18 -0700
committerAdam Soltys <[email protected]>2026-06-28 09:57:18 -0700
commit7dd7f1678c9f294b7a42bfbca263c53c08a83ac4 (patch)
tree96ebd94f304e0e80f44c5a2af738e53538164877 /src/i18n.js
parent1e43db6e50e5e1dc7ccb8fb53e7ce68cc580967d (diff)
downloadcoinosv3-7dd7f1678c9f294b7a42bfbca263c53c08a83ac4.tar.gz
coinosv3-7dd7f1678c9f294b7a42bfbca263c53c08a83ac4.zip
Consolidate coins: a Settings action + a gift-time recommendation
- Settings gains a 'Consolidate coins' card (shown when you hold >1 spendable coin): wallet.consolidate() does a max self-send merging them into one, so future sends/gifts use a single input — cheaper and a smaller gift QR. - At gift creation, detect when the gift would bundle several coins (giftCoinSummary returns the input count) and trigger the split/consolidate offer when count ≥ 3 (not just when it frees change). The offer now explains it plainly ('would bundle N coins, costly to claim') and recommends splitting into one coin first, with 'Use N coins anyway' as the explicit opt-out. Verified on regtest: 6 small coins → a 1000-sat gift needs 3 inputs and triggers the offer; consolidate merges them to 1 coin, after which the same gift is a clean single input. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/i18n.js')
-rw-r--r--src/i18n.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/i18n.js b/src/i18n.js
index 66f866d..3562337 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -241,6 +241,14 @@ const STR = {
giftDmFailed: 'Couldn’t send the nostr DM. Share this code with them privately:',
giftCopyCode: 'Copy claim code',
giftQrTooLong: 'Too large for a QR code — share the link below instead.',
+ giftConsolidateExplain: 'This gift would bundle {count} coins, making it costly for the recipient to claim. Splitting one coin first (~{fee}) gives them a clean single-input gift.',
+ giftConsolidateFirst: 'Split into one coin first',
+ giftUseManyCoins: 'Use {count} coins anyway',
+ consolidateTitle: 'Consolidate coins',
+ consolidateDesc: 'Your balance is spread across {n} coins. Merging them into one makes future sends and gifts cheaper and smaller.',
+ consolidateAction: 'Merge {n} coins into one',
+ consolidateDone: 'Consolidating — your coins are merging into one.',
+ consolidateFailed: 'Consolidation failed.',
claimWithExtension: 'Claim with nostr extension',
orEnterCode: 'or paste the claim code',
extWrongAccount: 'Your extension is signed in as a different nostr account than this gift is for.',