From 6a830e02b1c1873c77907e7a88c2143a351adea4 Mon Sep 17 00:00:00 2001 From: Rory& Date: Wed, 11 Jun 2025 10:47:15 +0200 Subject: Finish demo --- testFrontend/SafeNSound.Demo/Pages/User.razor | 46 +++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) (limited to 'testFrontend/SafeNSound.Demo/Pages/User.razor') diff --git a/testFrontend/SafeNSound.Demo/Pages/User.razor b/testFrontend/SafeNSound.Demo/Pages/User.razor index cdffbe3..cfbfa53 100644 --- a/testFrontend/SafeNSound.Demo/Pages/User.razor +++ b/testFrontend/SafeNSound.Demo/Pages/User.razor @@ -16,6 +16,30 @@ Clear
+ + Budget: @Math.Round(Budget.Amount, 2)
+ + + Spend + + EUR at + + for + + Spend +
+ + Spend history is comming soon! + @* oops, forgot to use the DTO for getting own budget... *@ + @* @foreach(var history in Budget.History) { *@ + @*
*@ + @* @history.CreatedAt!.Value.ToLocalTime() - *@ + @* @history.Amount EUR - *@ + @* @history.Reason - *@ + @* @history.Venue *@ + @*
*@ + @* } *@ + } @if (Alarm != null) { @@ -38,16 +62,22 @@ private WhoAmI WhoAmI { get; set; } = null!; private AlarmDto? Alarm { get; set; } = null!; + private BudgetHistoryEntry ToSpend { get; set; } = new() { + Amount = 0, + Reason = string.Empty, + Venue = string.Empty + }; protected override async Task OnInitializedAsync() { WhoAmI = await App.UserClient.WhoAmI(); - _isInitialized = true; _ = PollAlarm(); + Budget = await App.UserClient.GetBudget(); NavigationManager.LocationChanged += (sender, args) => { if (args.Location != NavigationManager.Uri) { - _running = false; // Stop polling when navigating away + _running = false; } }; + _isInitialized = true; } private async Task PollAlarm() { @@ -57,11 +87,19 @@ Alarm = newAlarm; StateHasChanged(); } + + var newBudget = await App.UserClient.GetBudget(); + if (Math.Abs(Budget.Amount - newBudget.Amount) > 0.01) { + Budget = newBudget; + StateHasChanged(); + } await Task.Delay(1000); } } + public CurrentBalance Budget { get; set; } + private async Task RaiseAlarm(string? reason) { if (string.IsNullOrWhiteSpace(reason)) await App.UserClient.DeleteAlarm(); @@ -80,4 +118,8 @@ ~User() => ReleaseUnmanagedResources(); + private async Task SpendBudget(BudgetHistoryEntry toSpend) { + await App.UserClient.SpendBudget(toSpend); + } + } \ No newline at end of file -- cgit 1.5.1