@page "/Users/{baid:int}/AccessCode" @inject HttpClient Client @inject IDialogService DialogService @inject LoginService LoginService @inject NavigationManager NavigationManager @inject IStringUtil StringUtil @if (response is not null) { @if ((LoginService.LoginRequired && (!LoginService.IsLoggedIn || (LoginService.GetLoggedInUser().Baid != Baid && !LoginService.IsAdmin))) || User is null) { if (!LoginService.IsLoggedIn) { NavigationManager.NavigateTo("/Login"); } else { NavigationManager.NavigateTo("/"); } } else { <MudBreadcrumbs Items="breadcrumbs" Class="p-0 mb-2"></MudBreadcrumbs> <MudText Typo="Typo.h4">Access Codes</MudText> <MudText Typo="Typo.caption">User ID: @Baid</MudText> <MudGrid Class="my-4 pb-10"> <MudItem xs="12"> <MudCard Outlined="true" Class="mb-6"> <MudCardContent> <MudGrid Spacing="3"> <MudItem xs="12"> <MudText Typo="Typo.h6">Add Access Code</MudText> <MudForm @ref="bindAccessCodeForm"> <MudGrid Spacing="2" Class="mt-4"> <MudItem xs="12" md="10"> <MudTextField @bind-value="inputAccessCode" InputType="InputType.Text" T="string" FullWidth="true" Required="@true" RequiredError="Access Code is required" Variant="Variant.Outlined" Margin="Margin.Dense" Label="New Access Code" /> </MudItem> <MudItem xs="12" md="2"> <MudButton OnClick="OnBind" FullWidth="true" StartIcon="@Icons.Material.Filled.AddCard" Color="Color.Primary" Variant="Variant.Filled" Class="mt-1">Add</MudButton> </MudItem> </MudGrid> </MudForm> </MudItem> </MudGrid> </MudCardContent> </MudCard> <MudCard Outlined="true"> <MudCardContent> <MudGrid Spacing="3" Class="pb-2"> <MudItem xs="12"> <MudText Typo="Typo.h6">Access Codes</MudText> </MudItem> @for (var idx = 0; idx < User.AccessCodes.Count; idx++) { var accessCode = User.AccessCodes[idx]; var localIdx = idx + 1; <MudItem xs="12" Class="py-0"> <div Style="border-bottom:1px solid #eee; padding: 5px 0;"> <MudGrid Spacing="2" Class="d-flex align-center"> <MudItem xs="12" md="8" Class="d-flex align-center"> <pre class="mb-0" style="font-size:16px"> @foreach (var digitGroup in StringUtil.SplitIntoGroups(accessCode, 4)) { <span class="mr-2">@digitGroup</span> } </pre> </MudItem> <MudItem xs="12" md="4" Class="d-flex justify-end"> <MudButton OnClick="@(_ => DeleteAccessCode(accessCode))" Size="Size.Small" Variant="Variant.Text" StartIcon="@Icons.Material.Filled.Delete" Color="Color.Error"> @Localizer["Delete"] </MudButton> </MudItem> </MudGrid> </div> </MudItem> } </MudGrid> </MudCardContent> </MudCard> </MudItem> </MudGrid> } } else { <MudContainer Style="display:flex;margin:50px 0;align-items:center;justify-content:center;"> <MudProgressCircular Indeterminate="true" Size="Size.Large" Color="Color.Primary" /> </MudContainer> }