using FruitBank.Common.Models; using Microsoft.AspNetCore.Components; namespace FruitBankHybrid.Shared.Layout; public partial class MainLayout : LayoutComponentBase { [Inject] public required NavigationManager NavManager{ get; set; } [Inject] public required LoggedInModel LoggedInModel { get; set; } private EventCallback RefreshMainLayoutEventCallback => EventCallback.Factory.Create(this, RefreshMainLayout); private NavMenu _navMenu = null!; protected override void OnInitialized() { if (!LoggedInModel.IsLoggedIn) NavManager.NavigateTo("/Login"); } private void OnLogoutClick() { LoggedInModel.LogOut(); RefreshMainLayout(); NavManager.NavigateTo("/Login"); } public void RefreshMainLayout() { _navMenu.RefreshNavMenu(); StateHasChanged(); } }