blog3000/Blog3000/Client/Shared/NavMenu.razor

67 lines
2.2 KiB
Plaintext

@inject Config config
<div class="top-row pl-4 navbar navbar-dark">
<a class="navbar-brand" href="">@{var t = config?.Main?.Title ?? "Blog3000 instance";}@t</a>
<div class="social-links">
@if (config?.Main?.SocialLinks != null)
{
@foreach (var item in config.Main.SocialLinks)
{
<div class="social-link">
<svg alt="More" width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-arrow-right-short" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z" />
</svg><a class=".btn-link" href="@item.Value">@item.Key</a>
</div>
}
}
</div>
<button class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<ul class="nav flex-column">
<li class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</li>
<StickyNavLinks />
<!-- li class="nav-item px-3">
<NavLink class="nav-link" href="/legal" Match="NavLinkMatch.All">
<span class="oi oi-eject" aria-hidden="true"></span>Impressum, DSGVO
</NavLink>
</li>
<li class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
</NavLink>
</li -->
</ul>
</div>
@code {
protected override void OnInitialized() {
config.ConfigChanged += (s, e) => {
this.StateHasChanged();
};
}
private bool collapseNavMenu = true;
private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
}