@page "/account/tenant-selection" @layout AuthenticationLayout @using Indotalent.Shared.Consts @attribute [Authorize] @using Microsoft.AspNetCore.Authorization @using Microsoft.JSInterop @inject NavigationManager Navigation @inject ISnackbar Snackbar @inject IJSRuntime JSRuntime Select Tenant - @GlobalConsts.AppInitial
Select Tenant Please select a tenant to continue
@if (isLoading) {
} else if (!myTenants.Any()) { You don't have access to any tenant. Please contact your Administrator. } else {
@foreach (var item in myTenants) {
@item.TenantName @if (!string.IsNullOrEmpty(item.Description)) { @item.Description }
}
}
Want to sign in with another account? Sign Out
@code { private bool isLoading = true; private List myTenants = new(); protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { myTenants = await JSRuntime.InvokeAsync>("apiAccountFetchMyTenants"); isLoading = false; StateHasChanged(); } } private async Task HandleSelectTenant(string tenantId) { var result = await JSRuntime.InvokeAsync("apiAccountConfirmTenant", tenantId); if (result.Success) { Snackbar.Add("Tenant workspace loaded successfully.", Severity.Success); Navigation.NavigateTo("/home", forceLoad: true); } else { Snackbar.Add("Failed to assign tenant workspace.", Severity.Error); } } public class TenantDto { public string TenantId { get; set; } = ""; public string TenantName { get; set; } = ""; public string? Description { get; set; } } public class ApiResult { public bool Success { get; set; } } }