From 16db4abdac64bfb74e412648ad71befa8055a9bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20A=2EP?=
<53834183+Jossec101@users.noreply.github.com>
Date: Thu, 26 Feb 2026 18:55:21 +0100
Subject: [PATCH] Fix loading data on channel requests + various UI fixes
- Update page title from "Channel Operation Requests" to "Channel Requests"
- Add page heading with custom styling
- Reorder filter columns for better user experience
- Change "User" label to "Requestor" for clarity
- Adjust column sizes for improved layout balance
---
src/Pages/ChannelRequests.razor | 104 ++++++++++++++++++--------------
src/Pages/Withdrawals.razor | 4 +-
2 files changed, 62 insertions(+), 46 deletions(-)
diff --git a/src/Pages/ChannelRequests.razor b/src/Pages/ChannelRequests.razor
index 5ef5dcca..acf4b3ee 100644
--- a/src/Pages/ChannelRequests.razor
+++ b/src/Pages/ChannelRequests.razor
@@ -11,8 +11,8 @@
@using NodeGuard.Helpers;
@attribute [Authorize(Roles = "FinanceManager, Superadmin, NodeManager")]
-Channel Operation Requests
-
+Channel Requests
+
Channel Requests
@if (_isFinanceManager || _isNodeManager)
{
@@ -289,38 +289,6 @@
-
-
- Status
-
-
-
-
-
- Type
-
-
-
Source Node
@@ -353,7 +321,7 @@
Filter="AutocompleteFilter.Contains" />
-
+
Wallet
- User
+ Requestor
+
+
+ Status
+
+
+
+
+
+ Type
+
+
+
From
@@ -403,15 +403,18 @@
-@* TODO: Convert this grid to paginated ReadData to avoid loading all records in memory. *@
+ Striped="true"
+ Narrow="true"
+ PageSize="@_allRequestsPageSize">
@@ -430,7 +433,7 @@
}
-
+
@{
@@ -577,8 +580,9 @@
@code {
private List? _channelRequests;
- private List? _allRequests;
+ private List _allRequests = new();
private int _totalAllRequests;
+ private const int _allRequestsPageSize = 25;
private List _availableUsers = new();
private List _availableNodes = new();
@@ -748,8 +752,6 @@
{
if (LoggedUser == null) return;
- _allRequests = await ChannelOperationRequestRepository.GetAll();
-
if (_isFinanceManager)
{
_channelRequests = await ChannelOperationRequestRepository.GetUnsignedPendingRequestsByUser(LoggedUser.Id);
@@ -758,7 +760,10 @@
{
_channelRequests = await ChannelOperationRequestRepository.GetPendingRequests();
}
- _allRequests = _allRequests.Except(_channelRequests ?? new List()).ToList();
+ else
+ {
+ _channelRequests = new();
+ }
}
#region New Request Integration
@@ -895,6 +900,7 @@
}
await LoadData();
await FetchRequests();
+ await ReloadAllRequestsGrid();
}
#endregion
@@ -954,6 +960,7 @@
_selectedRequest.Id.ToString(),
new { RequestId = _selectedRequest.Id, Status = _selectedStatus, Reason = _selectedRequest.ClosingReason, Description = $"Channel operation request {_selectedStatus.ToString().ToLower()}" });
await FetchRequests();
+ await ReloadAllRequestsGrid();
}
}
else
@@ -1046,6 +1053,7 @@
}
await FetchRequests();
+ await ReloadAllRequestsGrid();
await _psbtSignRef.HideModal();
StateHasChanged();
}
@@ -1118,6 +1126,7 @@
_utxoSelectorModalRef.ClearModal();
await _approveOperationConfirmationModal.CloseModal();
await FetchRequests();
+ await ReloadAllRequestsGrid();
StateHasChanged();
return;
}
@@ -1137,6 +1146,7 @@
await FetchRequests();
+ await ReloadAllRequestsGrid();
_utxoSelectorModalRef.ClearModal();
await _approveOperationConfirmationModal.CloseModal();
}
@@ -1206,6 +1216,7 @@
{
await MarkRequestAsFailedCloseConfirmationModal();
await FetchRequests();
+ await ReloadAllRequestsGrid();
}
}
@@ -1280,11 +1291,16 @@
private async Task RefreshChannelRequestsInformation()
{
await FetchRequests();
+ await ReloadAllRequestsGrid();
+ StateHasChanged();
+ }
+
+ private async Task ReloadAllRequestsGrid()
+ {
if (_allRequestsDatagrid != null)
{
await _allRequestsDatagrid.Reload();
}
- StateHasChanged();
}
private async Task OnAllRequestsReadData(DataGridReadDataEventArgs e)
diff --git a/src/Pages/Withdrawals.razor b/src/Pages/Withdrawals.razor
index cd3b0171..0d3b357c 100644
--- a/src/Pages/Withdrawals.razor
+++ b/src/Pages/Withdrawals.razor
@@ -22,7 +22,7 @@
@if (_isFinanceManager)
{
- Withdrawal requests awaiting my signature
+ Requests awaiting my signature
@* TODO: Convert this grid to paginated ReadData to avoid loading all records in memory. *@
- Withdrawal requests
+ Requests