From 3863dfd920cf1fb9f40e07efb8868040d2f6b88c Mon Sep 17 00:00:00 2001 From: Jimmy Date: Mon, 22 Jun 2026 09:44:49 +0800 Subject: [PATCH 1/8] Add RPC-backed transaction history --- OneGateApp/AppShell.xaml.cs | 1 + OneGateApp/Models/TransactionHistoryItem.cs | 13 + OneGateApp/Pages/TransactionHistoryPage.xaml | 61 ++++ .../Pages/TransactionHistoryPage.xaml.cs | 278 ++++++++++++++++++ OneGateApp/Pages/WalletPage.xaml | 2 +- OneGateApp/Properties/Strings.Designer.cs | 38 ++- OneGateApp/Properties/Strings.de.resx | 12 + OneGateApp/Properties/Strings.es.resx | 12 + OneGateApp/Properties/Strings.fr.resx | 12 + OneGateApp/Properties/Strings.id.resx | 12 + OneGateApp/Properties/Strings.it.resx | 12 + OneGateApp/Properties/Strings.ja.resx | 12 + OneGateApp/Properties/Strings.ko.resx | 12 + OneGateApp/Properties/Strings.nl.resx | 12 + OneGateApp/Properties/Strings.pt-BR.resx | 12 + OneGateApp/Properties/Strings.resx | 12 + OneGateApp/Properties/Strings.ru.resx | 12 + OneGateApp/Properties/Strings.tr.resx | 12 + OneGateApp/Properties/Strings.vi.resx | 12 + OneGateApp/Properties/Strings.zh-Hans.resx | 12 + OneGateApp/Properties/Strings.zh-Hant.resx | 14 +- 21 files changed, 572 insertions(+), 3 deletions(-) create mode 100644 OneGateApp/Models/TransactionHistoryItem.cs create mode 100644 OneGateApp/Pages/TransactionHistoryPage.xaml create mode 100644 OneGateApp/Pages/TransactionHistoryPage.xaml.cs diff --git a/OneGateApp/AppShell.xaml.cs b/OneGateApp/AppShell.xaml.cs index 7377ba3..3c09ce3 100644 --- a/OneGateApp/AppShell.xaml.cs +++ b/OneGateApp/AppShell.xaml.cs @@ -46,5 +46,6 @@ static AppShell() Routing.RegisterRoute("wallet/receive", typeof(ReceivePage)); Routing.RegisterRoute("wallet/send", typeof(SendPage)); Routing.RegisterRoute("wallet/sending", typeof(SendingPage)); + Routing.RegisterRoute("wallet/transactions", typeof(TransactionHistoryPage)); } } diff --git a/OneGateApp/Models/TransactionHistoryItem.cs b/OneGateApp/Models/TransactionHistoryItem.cs new file mode 100644 index 0000000..9f9b3d0 --- /dev/null +++ b/OneGateApp/Models/TransactionHistoryItem.cs @@ -0,0 +1,13 @@ +namespace NeoOrder.OneGate.Models; + +public sealed class TransactionHistoryItem +{ + public required string Title { get; init; } + public required string AmountText { get; init; } + public required string DirectionText { get; init; } + public required string TimeText { get; init; } + public required string CounterpartyText { get; init; } + public required string TransactionHash { get; init; } + public string? BlockText { get; init; } + public bool HasBlockText => !string.IsNullOrWhiteSpace(BlockText); +} diff --git a/OneGateApp/Pages/TransactionHistoryPage.xaml b/OneGateApp/Pages/TransactionHistoryPage.xaml new file mode 100644 index 0000000..cdb19a2 --- /dev/null +++ b/OneGateApp/Pages/TransactionHistoryPage.xaml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + +