Вытащил солюшен на уровень выше, чтобы прощё было дотнетить
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2025-10-05 14:32:06 +03:00
parent fa87a56ad1
commit aae4b28089
242 changed files with 159 additions and 159 deletions

View File

@@ -0,0 +1,52 @@
@using System.Net
@using BlazorWebAssemblyVisaApiClient.Common.Exceptions
@using VisaApiClient
<CascadingValue Value="this">
<Modal @ref="modal">
<BodyTemplate>
@errorDetails
</BodyTemplate>
<FooterTemplate>
<Button Color="ButtonColor.Secondary" @onclick="modal.HideAsync">Okaaaay</Button>
</FooterTemplate>
</Modal>
@ChildContent
</CascadingValue>
@code
{
private Modal modal = null!;
private string errorDetails = null!;
[Parameter] public RenderFragment? ChildContent { get; set; }
[Inject] private NavigationManager Nav { get; set; } = null!;
public void Handle(Exception ex)
{
switch (ex)
{
case ApiException<ProblemDetails>
{
StatusCode: (int)HttpStatusCode.Unauthorized or (int)HttpStatusCode.Forbidden
} or NotLoggedInException:
Nav.NavigateTo("/");
modal.Title = "Authorization failed";
errorDetails = "You are not authorized or your authorization is expired";
modal.ShowAsync();
break;
case ApiException<ProblemDetails> problemDetails:
modal.Title = problemDetails.Result.Title!;
errorDetails = problemDetails.Result.Detail!;
modal.ShowAsync();
break;
default:
modal.Title = "Something went wrong";
errorDetails = "Please, text an email with your problem definition on nasrudin@mail.ru";
modal.ShowAsync();
break;
}
}
}