Fan website of IMMORTAL: Gates of Pyre.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

51 lines
1.3 KiB

@inherits LayoutComponentBase;
@inject IWebsiteService WebService;
@implements IDisposable;
@inject DatabaseContext Database;
<div class="layoutContainer" @onclick="OnPageClicked">
@if (!WebService.IsLoaded()) {
<LoadingComponent></LoadingComponent>
}
else {
<div class="content">
@Body
</div>
<DesktopNavComponent WebSections=WebService.WebSectionModels
WebPages=WebService.WebPageModels/>
<TabletNavComponent WebSections=WebService.WebSectionModels
WebPages=WebService.WebPageModels/>
<MobileNavComponent WebSections=WebService.WebSectionModels
WebPages=WebService.WebPageModels/>
}
</div>
@code {
bool NavOpen = true;
void OnNavClicked(EventArgs eventArgs) {
NavOpen = !NavOpen;
}
void OnPageClicked(EventArgs eventArgs) {
NavOpen = false;
}
protected override void OnInitialized() {
WebService.Subscribe(HasChanged);
}
protected override async Task OnInitializedAsync() {
await WebService.Load(Database);
}
void IDisposable.Dispose() {
WebService.Unsubscribe(HasChanged);
}
void HasChanged() {
StateHasChanged();
}
}