@using ShadcnBlazor.Cards
@using ShadcnBlazor.Spinners
@using ShadcnBlazor.Buttons
@using Moonlight.Shared.Http.Responses.Auth
@inject HttpClient HttpClient
@inject NavigationManager Navigation
@if (Schemes == null || Schemes.Length == 1)
{
}
else
{
Login to WebApp
Select a login provider to continue
}
@code
{
private SchemeResponse[]? Schemes;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (!firstRender)
return;
var schemes = await HttpClient.GetFromJsonAsync(
"api/auth", Constants.SerializerOptions
);
if (schemes == null)
return;
Schemes = schemes;
if (schemes.Length == 1)
Navigation.NavigateTo($"/api/auth/{schemes[0].Name}", true);
}
}