refactor(ui): remove SPV badge from tx detail and history
SPV is the only verification method the wallet uses, so showing it as a badge adds no information — if a transaction appears confirmed, it has already passed Merkle verification. - Remove the SPV chip from the transaction detail overlay - Remove the Verificata column from the history list (desktop and mobile) - Drop VerifiedText property from TransactionDetailsViewModel - Drop the Verificata field from HistoryRow - Remove the orphaned tx.verified loc key
This commit is contained in:
@@ -225,8 +225,7 @@ public sealed class Loc
|
||||
["tx.size.total"] = ["Dimensione totale", "Total size", "Tamaño total", "Taille totale", "Tamanho total", "Gesamtgröße"],
|
||||
["tx.size.virtual"] = ["Dimensione virtuale", "Virtual size", "Tamaño virtual", "Taille virtuelle", "Tamanho virtual", "Virtuelle Größe"],
|
||||
["tx.rbf"] = ["Sostituibile (RBF)", "Replaceable (RBF)", "Reemplazable (RBF)", "Remplaçable (RBF)", "Substituível (RBF)", "Ersetzbar (RBF)"],
|
||||
["tx.verified"] = ["Verifica SPV", "SPV verification", "Verificación SPV", "Vérification SPV", "Verificação SPV", "SPV-Prüfung"],
|
||||
["tx.inputs"] = ["Input", "Inputs", "Entradas", "Entrées", "Entradas", "Eingänge"],
|
||||
["tx.inputs"] = ["Input", "Inputs", "Entradas", "Entrées", "Entradas", "Eingänge"],
|
||||
["tx.outputs"] = ["Output", "Outputs", "Salidas", "Sorties", "Saídas", "Ausgänge"],
|
||||
["tx.yes"] = ["Sì", "Yes", "Sí", "Oui", "Sim", "Ja"],
|
||||
["tx.no"] = ["No", "No", "No", "Non", "Não", "Nein"],
|
||||
|
||||
@@ -272,8 +272,7 @@ public partial class MainWindowViewModel
|
||||
History.Add(new HistoryRow(
|
||||
tx.Height > 0 ? tx.Height.ToString() : "mempool",
|
||||
(tx.DeltaSats >= 0 ? "+" : "") + Fmt(tx.DeltaSats, withLabel: false),
|
||||
tx.Txid,
|
||||
tx.Verified ? "✓ SPV" : "—"));
|
||||
tx.Txid));
|
||||
|
||||
Addresses.Clear();
|
||||
foreach (var a in cache.Addresses)
|
||||
|
||||
@@ -17,7 +17,7 @@ using PalladiumWallet.Core.Wallet;
|
||||
namespace PalladiumWallet.App.ViewModels;
|
||||
|
||||
/// <summary>Transaction history row for the view.</summary>
|
||||
public sealed record HistoryRow(string Conferma, string Importo, string Txid, string Verificata);
|
||||
public sealed record HistoryRow(string Conferma, string Importo, string Txid);
|
||||
|
||||
/// <summary>Address view row with pre-computed keys and derivation path.</summary>
|
||||
public sealed record AddressRow(
|
||||
|
||||
@@ -62,8 +62,6 @@ public sealed class TransactionDetailsViewModel
|
||||
VersionText = d.Version.ToString();
|
||||
LockTimeText = d.LockTime.ToString();
|
||||
RbfText = loc[d.RbfSignaled ? "tx.yes" : "tx.no"];
|
||||
VerifiedText = d.Verified ? "✓ SPV" : "—";
|
||||
|
||||
Inputs = new ObservableCollection<TxIoRow>(d.Inputs.Select((i, n) => new TxIoRow(
|
||||
i.IsCoinbase ? loc["tx.coinbase"] : $"{Shorten(i.PrevTxid)}:{i.PrevIndex}",
|
||||
i.IsCoinbase ? loc["tx.coinbase.newcoins"] : i.Address ?? "—",
|
||||
@@ -93,7 +91,6 @@ public sealed class TransactionDetailsViewModel
|
||||
public string VersionText { get; }
|
||||
public string LockTimeText { get; }
|
||||
public string RbfText { get; }
|
||||
public string VerifiedText { get; }
|
||||
public ObservableCollection<TxIoRow> Inputs { get; }
|
||||
public ObservableCollection<TxIoRow> Outputs { get; }
|
||||
|
||||
|
||||
@@ -369,25 +369,20 @@
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate x:DataType="vm:HistoryRow">
|
||||
<Panel Cursor="Hand">
|
||||
<!-- Desktop: 4 fixed columns -->
|
||||
<Grid ColumnDefinitions="90,160,*,70"
|
||||
<!-- Desktop: 3 fixed columns -->
|
||||
<Grid ColumnDefinitions="90,160,*"
|
||||
IsVisible="{Binding $parent[UserControl].((vm:MainWindowViewModel)DataContext).IsDesktop}">
|
||||
<TextBlock Grid.Column="0" Text="{Binding Conferma}" Foreground="{DynamicResource TextSecondaryBrush}"/>
|
||||
<TextBlock Grid.Column="1" Text="{Binding Importo}" FontFamily="monospace"/>
|
||||
<TextBlock Grid.Column="2" Text="{Binding Txid}"
|
||||
FontFamily="monospace" FontSize="12"
|
||||
TextTrimming="CharacterEllipsis"/>
|
||||
<TextBlock Grid.Column="3" Text="{Binding Verificata}" Foreground="{DynamicResource SuccessBrush}"/>
|
||||
</Grid>
|
||||
<!-- Mobile: vertical card -->
|
||||
<StackPanel Spacing="2"
|
||||
IsVisible="{Binding $parent[UserControl].((vm:MainWindowViewModel)DataContext).IsMobile}">
|
||||
<Grid ColumnDefinitions="*,Auto">
|
||||
<TextBlock Grid.Column="0" Text="{Binding Importo}"
|
||||
FontFamily="monospace" FontWeight="SemiBold"/>
|
||||
<TextBlock Grid.Column="1" Text="{Binding Verificata}"
|
||||
Foreground="{DynamicResource SuccessBrush}" FontSize="11"/>
|
||||
</Grid>
|
||||
<TextBlock Text="{Binding Importo}"
|
||||
FontFamily="monospace" FontWeight="SemiBold"/>
|
||||
<TextBlock Text="{Binding Conferma}" Foreground="{DynamicResource TextSecondaryBrush}" FontSize="11"/>
|
||||
<TextBlock Text="{Binding Txid}" FontFamily="monospace" FontSize="11"
|
||||
TextTrimming="CharacterEllipsis"/>
|
||||
@@ -1067,20 +1062,6 @@
|
||||
FontSize="12" FontWeight="SemiBold" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Classes="chip" Margin="0,0,8,6"
|
||||
Background="{DynamicResource PrimarySoftBrush}">
|
||||
<StackPanel Orientation="Horizontal" Spacing="6">
|
||||
<Viewbox Width="14" Height="14" VerticalAlignment="Center">
|
||||
<Canvas Width="24" Height="24">
|
||||
<Path Fill="{DynamicResource SuccessBrush}"
|
||||
Data="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"/>
|
||||
</Canvas>
|
||||
</Viewbox>
|
||||
<TextBlock Text="{Binding VerifiedText}"
|
||||
Foreground="{DynamicResource SuccessBrush}"
|
||||
FontSize="12" FontWeight="Medium" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
<Border Classes="chip" Margin="0,0,8,6">
|
||||
<TextBlock Text="{Binding StatusText}" FontSize="12"
|
||||
Foreground="{DynamicResource TextSecondaryBrush}"/>
|
||||
|
||||
Reference in New Issue
Block a user