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.
 
 
 
 

64 lines
1.3 KiB

@inherits LayoutComponentBase;
@inject IWebsiteService WebService;
@implements IDisposable;
<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 {
#if NO_SQL
#else
[Inject]
DatabaseContext Database { get; set; }
#endif
bool NavOpen = true;
void OnPageClicked(EventArgs eventArgs) {
NavOpen = false;
}
protected override void OnInitialized() {
WebService.Subscribe(HasChanged);
}
protected override async Task OnInitializedAsync() {
#if NO_SQL
await WebService.Load();
#else
await WebService.Load(Database);
#endif
}
void IDisposable.Dispose() {
WebService.Unsubscribe(HasChanged);
}
void HasChanged() {
StateHasChanged();
}
}