From 0641ee85ef958dba42e8040a6d89c9d18d590956 Mon Sep 17 00:00:00 2001 From: archipelago Date: Sat, 25 Jul 2026 10:44:08 -0400 Subject: [PATCH] feat(wallet): total-bitcoin row at top of wallet card; on-chain gets a chain icon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The wallet card (Home + Web5 views) now leads with a Total Bitcoin row summing all rails (on-chain + lightning + cashu + fedimint + ark), using the orange ₿ mark. The on-chain row swaps ₿ for a link/chain icon. Co-Authored-By: Claude Fable 5 --- neode-ui/src/locales/en.json | 1 + neode-ui/src/locales/es.json | 1 + neode-ui/src/views/home/HomeWalletCard.vue | 15 ++++++++++++++- neode-ui/src/views/web5/Web5Wallet.vue | 13 ++++++++++++- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/neode-ui/src/locales/en.json b/neode-ui/src/locales/en.json index 00aeddfd..98b2e15a 100644 --- a/neode-ui/src/locales/en.json +++ b/neode-ui/src/locales/en.json @@ -415,6 +415,7 @@ "totalEarned": "Total Earned", "monthlyAvg": "Monthly Avg", "ecashBalance": "Ecash Balance", + "totalBitcoin": "Total Bitcoin", "onChain": "On-chain", "lightning": "Lightning", "ecash": "Ecash", diff --git a/neode-ui/src/locales/es.json b/neode-ui/src/locales/es.json index f94ff178..3c9dd268 100644 --- a/neode-ui/src/locales/es.json +++ b/neode-ui/src/locales/es.json @@ -413,6 +413,7 @@ "totalEarned": "Total ganado", "monthlyAvg": "Promedio mensual", "ecashBalance": "Saldo Ecash", + "totalBitcoin": "Bitcoin total", "onChain": "On-chain", "lightning": "Lightning", "ecash": "Ecash", diff --git a/neode-ui/src/views/home/HomeWalletCard.vue b/neode-ui/src/views/home/HomeWalletCard.vue index c9c37fbf..e69f83b0 100644 --- a/neode-ui/src/views/home/HomeWalletCard.vue +++ b/neode-ui/src/views/home/HomeWalletCard.vue @@ -112,9 +112,18 @@
-
+
+ {{ t('web5.totalBitcoin') }} +
+ {{ walletTotal.toLocaleString() }} sats +
+
+
+ + + {{ t('web5.onChain') }}
{{ walletOnchain.toLocaleString() }} sats @@ -232,6 +241,10 @@ defineEmits<{ const showIncomingTxPanel = ref(false) +const walletTotal = computed(() => + props.walletOnchain + props.walletLightning + props.walletEcash + props.walletFedimint + (props.walletArk ?? 0) +) + function isOnchain(tx: WalletTransaction): boolean { return !tx.kind || tx.kind === 'onchain' } diff --git a/neode-ui/src/views/web5/Web5Wallet.vue b/neode-ui/src/views/web5/Web5Wallet.vue index 00195014..dc00a514 100644 --- a/neode-ui/src/views/web5/Web5Wallet.vue +++ b/neode-ui/src/views/web5/Web5Wallet.vue @@ -95,10 +95,21 @@
{{ walletError }}
+ +
+
+ + {{ t('web5.totalBitcoin') }} +
+ {{ (lndOnchainBalance + lndChannelBalance + ecashBalance).toLocaleString() }} sats +
+
- + + + {{ t('web5.onChain') }}
{{ lndOnchainBalance.toLocaleString() }} sats