@if (DestinationBalance?.Any() is true) {

Destination Pending Balances

@foreach (var (dest, balance) in DestinationBalance) { }
Destination Sats Actions
@dest @(balance / 1000m) @if (UpdatingDestination == dest) { } else { }
} @if (PendingPayouts?.Any() is true) {

Pending Payouts

@foreach (var (payoutId, pendingPayout) in PendingPayouts) { }
Payout Id Reserve fee Amount
@payoutId @pendingPayout.FeeCharged @pendingPayout.PayoutAmount
}
@code { private string? UpdatingDestination { get; set; } private long? UpdatingValue { get; set; } [Parameter] public Dictionary DestinationBalance { get; set; } [Parameter] public Dictionary PendingPayouts { get; set; } [Parameter] public EventCallback<(string destination, long newBalance)> OnUpdate { get; set; } private EventCallback StartUpdate(string dest, long balance) { UpdatingDestination = dest; UpdatingValue = Convert.ToInt32(balance/1000m); return EventCallback.Empty; } private async Task Update() { if (UpdatingDestination is null || UpdatingValue is null) { return; } await OnUpdate.InvokeAsync((UpdatingDestination, Convert.ToInt64(UpdatingValue.Value * 1000m))); UpdatingDestination = null; } }