@namespace SZUAbsolventenverein.Theme.Website @inherits ThemeBase @inject NavigationManager NavigationManager @inject ISettingService SettingService @implements IDisposable
@if (PageState?.Pages != null) { // Diese Seitennamen sollen NICHT im Menü erscheinen var hiddenNames = new[] { "Login", "Register", "Reset", "Profile", "Search", "Privacy", "Terms", "Not Found", "NotFound" }; @foreach (var page in PageState.Pages .Where(p => p.ParentId == null && p.IsNavigation && !p.IsDeleted && !hiddenNames.Contains(p.Name))) {
@(@page.Name)
var children = PageState.Pages .Where(c => c.ParentId == page.PageId && c.IsNavigation && !c.IsDeleted && !hiddenNames.Contains(c.Name)); if (children.Any()) {
@foreach (var child in children) {
@child.Name
}
} } }
@code { public override string Name => "Theme1"; public override string Panes => PaneNames.Admin + ",Top Full Width,Top 100%,Left 50%,Right 50%,Left 33%,Center 33%,Right 33%,Left Outer 25%,Left Inner 25%,Right Inner 25%,Right Outer 25%,Left 25%,Center 50%,Right 25%,Left Sidebar 66%,Right Sidebar 33%,Left Sidebar 33%,Right Sidebar 66%,Bottom 100%,Bottom Full Width"; private bool _showDropdown = false; private bool _login = true; private bool _register = true; private bool _navOpen = false; protected override void OnInitialized() { NavigationManager.LocationChanged += LocationChanged; } protected override void OnParametersSet() { try { var settings = SettingService.MergeSettings(PageState.Site.Settings, PageState.Page.Settings); _login = bool.Parse(SettingService.GetSetting(settings, GetType().Namespace + ":Login", "true")); _register = bool.Parse(SettingService.GetSetting(settings, GetType().Namespace + ":Register", "true")); } catch { // error loading theme settings } } private void LocationChanged(object sender, LocationChangedEventArgs args) { _navOpen = false; StateHasChanged(); } public void Dispose() { NavigationManager.LocationChanged -= LocationChanged; } }