@page "/Error"
@inject ISettingsService SettingsService
@rendermode InteractiveServer

<PageTitle>@T("Fehler", "Error")</PageTitle>

<h1>@T("Ein Fehler ist aufgetreten", "An error occurred")</h1>
<p>@T("Entschuldigung, es ist ein unerwarteter Fehler aufgetreten.", "Sorry, an unexpected error occurred.")</p>
<a href="/">@T("Zurück zur Startseite", "Back to home")</a>

@code {
    private string _language = "de";

    private string T(string de, string en) => _language == "en" ? en : de;

    [CascadingParameter]
    private HttpContext? HttpContext { get; set; }

    protected override async Task OnInitializedAsync()
    {
        _language = await SettingsService.GetLanguageAsync() ?? "de";

        if (HttpContext is not null)
        {
            HttpContext.Response.StatusCode = StatusCodes.Status500InternalServerError;
        }
    }
}
