1
0
mirror of synced 2025-01-10 04:01:46 +01:00

78 lines
3.1 KiB
Plaintext
Raw Normal View History

2022-09-12 00:33:58 +08:00
@inject HttpClient Client
2024-05-16 23:32:46 +01:00
@inject AuthService AuthService
2023-10-16 10:38:27 +01:00
@inject NavigationManager NavigationManager
2024-08-13 17:07:39 +02:00
@inject BreadcrumbsStateContainer BreadcrumbsStateContainer
@using TaikoWebUI.Components;
@page "/Users"
<MudGrid Class="my-8">
2024-05-16 23:32:46 +01:00
@if (!AuthService.LoginRequired || (AuthService.LoginRequired && AuthService.IsAdmin)) {
2024-06-05 20:38:52 -04:00
<MudItem xs="12">
2024-06-05 21:34:13 -04:00
<div class="d-flex justify-content-end gap-2">
<MudInput
@bind-Value="searchTerm"
TextChanged="(async term => { isLoading = true; await OnSearch(term); })"
Immediate="true"
FullWidth="true"
Clearable="true"
Margin="Margin.Dense"
Label="@Localizer["Search"]"
2024-06-05 22:05:51 -04:00
Placeholder="@Localizer["Search by Name, ID, or Access Code"]"
2024-06-05 21:34:13 -04:00
Variant="Variant.Outlined"
Adornment="Adornment.Start"
AdornmentIcon="@Icons.Material.Filled.Search"
Style="width: 100%" />
</div>
2024-06-05 20:38:52 -04:00
</MudItem>
@if (isLoading || response == null)
2024-06-05 11:42:35 -04:00
{
2024-05-16 23:32:46 +01:00
// Loading...
2024-06-06 00:18:49 -04:00
for (uint i = 0; i < pageSize; i++) {
2024-06-05 11:46:59 -04:00
<MudItem xs="12" md="6" lg="4" xl="3">
2024-05-16 23:32:46 +01:00
<MudCard Outlined="true">
<MudCardContent>
<MudSkeleton Width="30%" Height="42px;" Class="mb-5" />
<MudSkeleton Width="80%" />
<MudSkeleton Width="100%" />
</MudCardContent>
<MudCardActions>
<MudStack Row="true" Style="width:100%" Spacing="4" Justify="Justify.FlexEnd">
<MudSkeleton Width="64px" Height="40px" />
<MudSkeleton Width="64px" Height="40px" />
</MudStack>
</MudCardActions>
</MudCard>
</MudItem>
}
2024-06-05 11:42:35 -04:00
} else if (response.Users.Count > 0) {
foreach (var user in response.Users)
{
2024-06-05 11:46:59 -04:00
<MudItem xs="12" md="6" lg="4" xl="3">
2024-06-05 11:42:35 -04:00
<UserCard User="user" UserSetting="user.UserSetting" />
2024-05-16 23:32:46 +01:00
</MudItem>
}
2024-05-16 23:32:46 +01:00
} else { // No users in the database
<MudItem xs="12">
<MudText Align="Align.Center" Class="my-8">
2024-06-05 14:59:33 +01:00
@Localizer["No Data"]
</MudText>
</MudItem>
}
2024-05-16 23:32:46 +01:00
} else if (AuthService.LoginRequired && !AuthService.IsLoggedIn) {
// Not logged in, redirect
NavigationManager.NavigateTo("/Login");
} else {
NavigationManager.NavigateTo("/");
}
2024-06-05 11:42:35 -04:00
@if (response != null && TotalPages > 1)
{
<MudItem xs="12">
<div class="d-flex flex-column align-center">
<MudPagination Class="pa-4" Rectangular="true" DisableElevation="true" Count="@TotalPages" Selected="currentPage" SelectedChanged="(page) => OnPageChange(page)" BoundaryCount="1" MiddleCount="3" />
</div>
</MudItem>
}
</MudGrid>