32 lines
861 B
C#
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();
|
|
}
|
|
} |