From 4b82a0852cf2cb7268d3633f9aa2db702ca1b253 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Tue, 16 Jun 2026 10:21:50 +0200 Subject: [PATCH] feat(ui): restructure transaction details + clearer coinbase identification MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Transaction details overlay redesigned from a flat 12-row grid into a scannable layout: a header with the net amount in focus plus SPV/status badges, then three labeled cards (Overview, Amounts & fees, Technical details), with inputs/outputs as carded rows. Adds a .section heading style and tx.sect.* localization keys (6 languages). Coinbase transactions are now explicitly identified: an amber "Coinbase" badge in the header, and the misleading "From: —" / "coinbase —" replaced with "Newly generated (mining)" (localized). Exposes IsCoinbase on the details view model; no consensus/logic change, presentation only. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/App/Localization/Loc.cs | 5 + src/App/Styles/Controls.axaml | 7 + .../ViewModels/TransactionDetailsViewModel.cs | 15 +- src/App/Views/MainView.axaml | 218 ++++++++++++------ 4 files changed, 164 insertions(+), 81 deletions(-) diff --git a/src/App/Localization/Loc.cs b/src/App/Localization/Loc.cs index 8014681..c034c7b 100644 --- a/src/App/Localization/Loc.cs +++ b/src/App/Localization/Loc.cs @@ -216,6 +216,11 @@ public sealed class Loc ["tx.yes"] = ["Sì", "Yes", "Sí", "Oui", "Sim", "Ja"], ["tx.no"] = ["No", "No", "No", "Non", "Não", "Nein"], ["tx.needconnection"] = ["Connettiti al server per vedere i dettagli della transazione.", "Connect to the server to view transaction details.", "Conéctate al servidor para ver los detalles de la transacción.", "Connectez-vous au serveur pour voir les détails de la transaction.", "Conecte-se ao servidor para ver os detalhes da transação.", "Mit dem Server verbinden, um die Transaktionsdetails zu sehen."], + ["tx.sect.overview"] = ["Panoramica", "Overview", "Resumen", "Aperçu", "Visão geral", "Übersicht"], + ["tx.sect.amounts"] = ["Importi e commissioni", "Amounts & fees", "Importes y comisiones", "Montants et frais", "Valores e taxas", "Beträge & Gebühren"], + ["tx.sect.tech"] = ["Dettagli tecnici", "Technical details", "Detalles técnicos", "Détails techniques", "Detalhes técnicos", "Technische Details"], + ["tx.coinbase"] = ["Coinbase", "Coinbase", "Coinbase", "Coinbase", "Coinbase", "Coinbase"], + ["tx.coinbase.newcoins"] = ["Nuova emissione (mining)", "Newly generated (mining)", "Nueva emisión (minería)", "Nouvelle émission (minage)", "Nova emissão (mineração)", "Neu erzeugt (Mining)"], ["send.from.contact"] = ["Da contatti:", "From contacts:", "De contactos:", "Depuis les contacts :", "De contatos:", "Aus Kontakten:"], ["send.contact.hint"] = ["seleziona per riempire l'indirizzo", "select to fill address", "selecciona para rellenar la dirección", "sélectionner pour remplir l'adresse", "selecione para preencher o endereço", "auswählen um Adresse einzufügen"], ["send.to"] = ["Indirizzo destinatario", "Recipient address", "Dirección destinataria", "Adresse du destinataire", "Endereço do destinatário", "Empfängeradresse"], diff --git a/src/App/Styles/Controls.axaml b/src/App/Styles/Controls.axaml index 1f3534f..3649be8 100644 --- a/src/App/Styles/Controls.axaml +++ b/src/App/Styles/Controls.axaml @@ -47,6 +47,13 @@ + +