@using System.Net @using BlazorWebAssemblyVisaApiClient.Common.Exceptions @using VisaApiClient @errorDetails @ChildContent @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 { 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: 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; } } }