Files
LeafWeb/WebCms/Views/Partials/MainNavigation.cshtml
T
2020-07-16 14:52:49 -04:00

85 lines
3.1 KiB
Plaintext

@inherits UmbracoTemplatePage
@{
var home = CurrentPage.Site();
var loginStatus = Members.GetCurrentLoginStatus();
var admin = Members.IsMemberAuthorized(allowGroups: new List<string>{"Administrator"});
}
@if (home.Children.Any())
{
@* Get the first page in the children *@
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
@* For each child page under the home node *@
@foreach (var childPage in home.Children.Where("Visible"))
{
if (library.IsProtected(childPage.id, childPage.path)
&& !library.HasAccess(childPage.id, childPage.path))
{
continue;
}
if (childPage.Children.Where("Visible").Any())
{
<li class="nav-item dropdown @(childPage.IsAncestorOrSelf(CurrentPage) ? "active" : null)">
@if (childPage.DocumentTypeAlias == "LandingPage")
{
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
@childPage.Name
</a>
@childPages(childPage.Children, childPage.Name == "Admin" && loginStatus.IsLoggedIn && admin)
}
else
{
<a class="nav-link" href="@childPage.Url">@childPage.Name</a>
}
</li>
}
else
{
<li class="nav-item @(childPage.IsAncestorOrSelf(CurrentPage) ? "active" : null)">
<a class="nav-link" href="@childPage.Url">@childPage.Name</a>
</li>
}
}
</ul>
<div class="navbar-text text-light text-left">
@Html.Partial("LoginStatus")
</div>
</div>
}
@helper childPages(dynamic pages, bool appendSiteEditor)
{
@* Ensure that we have a collection of pages *@
if (pages.Where("Visible").Any())
{
<div class="dropdown-menu bg-dark" aria-labelledby="navbarDropdown">
@foreach (var page in pages.Where("Visible"))
{
if (library.IsProtected(page.id, page.path)
&& !library.HasAccess(page.id, page.path))
{
continue;
}
<a class="dropdown-item text-light" href="@page.Url">
@page.Name
@if (library.IsProtected(page.id, page.path)) {
<i class="fa fa-lock fa-fw text-danger" aria-hidden="true"></i>
}
</a>
}
@if (appendSiteEditor)
{
<a class="dropdown-item text-light" href="~/umbraco#">
<span class="fa fa-cog"></span> Site Editor
<i class="fa fa-lock fa-fw text-danger" aria-hidden="true"></i>
</a>
}
</div>
}
}