@page "/Monitor" @if (_isInitialized) {

User

Manage devices @foreach (var user in AssignedUsers) {

Assigned user @user @if (Alarms.ContainsKey(user)) { 🔔
@Alarms[user].Reason (@Alarms[user].CreatedAt) } else { 🔕 }

Manage } } @if (!string.IsNullOrWhiteSpace(manageUserId)) { ID: @manageUserId
@if (Alarms.ContainsKey(manageUserId)) { User has alarm!
@Alarms[manageUserId].Reason at @Alarms[manageUserId].CreatedAt.ToLocalTime() Clear
} Budget: @manageUserBudget?.Amount EUR
Add money: , reason: Add budget
} @code { bool _isInitialized = false; Dictionary Alarms { get; set; } List AssignedUsers { get; set; } protected override async Task OnInitializedAsync() { Alarms = await App.MonitorClient.GetAllAlarms(); AssignedUsers = await App.MonitorClient.GetAssignedUsers(); _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); } }