summary refs log tree commit diff
path: root/testFrontend/SafeNSound.Demo/Pages/Monitor.razor
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-06-11 10:47:15 +0200
committerRory& <root@rory.gay>2025-06-11 10:47:15 +0200
commit6a830e02b1c1873c77907e7a88c2143a351adea4 (patch)
tree10761b7d0dccb5c8859ee13c4aafae385218345c /testFrontend/SafeNSound.Demo/Pages/Monitor.razor
parentAdd initial demo (diff)
downloadnodejs-final-assignment-demo.tar.xz
Finish demo demo
Diffstat (limited to 'testFrontend/SafeNSound.Demo/Pages/Monitor.razor')
-rw-r--r--testFrontend/SafeNSound.Demo/Pages/Monitor.razor59
1 files changed, 55 insertions, 4 deletions
diff --git a/testFrontend/SafeNSound.Demo/Pages/Monitor.razor b/testFrontend/SafeNSound.Demo/Pages/Monitor.razor

index d78d60a..f948b69 100644 --- a/testFrontend/SafeNSound.Demo/Pages/Monitor.razor +++ b/testFrontend/SafeNSound.Demo/Pages/Monitor.razor
@@ -6,16 +6,44 @@ return Task.CompletedTask; })">Manage devices </LinkButton> - + @foreach (var user in AssignedUsers) { - <p>Assigned user @user + <p> + <span>Assigned user @user</span> @if (Alarms.ContainsKey(user)) { - <pre>@Alarms[user].ToJson(indent: false)</pre> + <span>&#x1F514;</span> + <br/> + <i>@Alarms[user].Reason (@Alarms[user].CreatedAt)</i> + } + else { + <span>&#x1F515;</span> } - </p> + </p> + <LinkButton OnClick="() => { _ = ManageUser(user); return Task.CompletedTask; }">Manage</LinkButton> } } +@if (!string.IsNullOrWhiteSpace(manageUserId)) { + <ModalWindow Title="Manage user"> + <span>ID: @manageUserId</span><br/> + @if (Alarms.ContainsKey(manageUserId)) { + <span><b>User has alarm!</b></span> + <br/> + <i>@Alarms[manageUserId].Reason at @Alarms[manageUserId].CreatedAt.ToLocalTime()</i> + <LinkButton>Clear</LinkButton> + <br/> + } + <span>Budget: @manageUserBudget?.Amount EUR</span><br/> + <span>Add money: </span> + <FancyTextBox Value="@manageUserNewBudget?.Amount.ToString()" + ValueChanged="s => manageUserNewBudget.Amount = double.Parse(s)"/> + <span>, reason:</span> + <FancyTextBox @bind-Value="@manageUserNewBudget.Reason"/> + <LinkButton OnClick="@UpdateUserBudget">Add budget + </LinkButton> + </ModalWindow> +} + @code { bool _isInitialized = false; @@ -28,4 +56,27 @@ _isInitialized = true; } + string? manageUserId { get; set; } + BudgetWithHistory? manageUserBudget { get; set; } + BudgetHistoryEntry manageUserNewBudget { get; set; } + + private async Task ManageUser(string user) { + manageUserId = user; + manageUserBudget = await App.MonitorClient.GetBudget(manageUserId); + manageUserBudget ??= new BudgetWithHistory { + Amount = 0, + History = [] + }; + manageUserNewBudget = new() { + Venue = App.MonitorAuth.Username + }; + + StateHasChanged(); + } + + private async Task UpdateUserBudget() { + await App.MonitorClient.AddBudget(manageUserId, manageUserNewBudget); + await ManageUser(manageUserId); + } + } \ No newline at end of file