@inherits LayoutComponentBase
@layout Wave.Components.Layout.MainLayout
@inject NavigationManager NavigationManager

@if (HttpContext is null) {
    <span class="loading loading-spinner loading-lg"></span>
} else {
    @Body
}

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

    protected override void OnParametersSet() {
        if (HttpContext is null) {
            // If this code runs, we're currently rendering in interactive mode, so there is no HttpContext.
            // The identity pages need to set cookies, so they require an HttpContext. To achieve this we
            // must transition back from interactive mode to a server-rendered page.
            NavigationManager.Refresh(forceReload: true);
        }
    }

}