using HeartTrack.Services; using Microsoft.AspNetCore.Components.Authorization; using Microsoft.AspNetCore.Components; using HeartTrack.Services.AuthentificationService; namespace HeartTrack.Shared { public partial class MainLayout { [Inject] public CustomStateProvider AuthStateProvider { get; set; } [Inject] public NavigationManager NavigationManager { get; set; } [CascadingParameter] private Task AuthenticationState { get; set; } private bool collapseNavMenu = true; private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null; protected override async Task OnParametersSetAsync() { if (!(await AuthenticationState).User.Identity.IsAuthenticated) { NavigationManager.NavigateTo("/login"); } } private async Task LogoutClick() { await AuthStateProvider.Logout(); NavigationManager.NavigateTo("/login"); } private void ToggleNavMenu() { collapseNavMenu = !collapseNavMenu; } private void ToggleProfilMenu() { } } }