FruitBankHybridApp/FruitBankHybrid.Shared/Layout/MainLayout.razor.cs

32 lines
861 B
C#

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();
}
}