54 lines
2.2 KiB
Plaintext
54 lines
2.2 KiB
Plaintext
@inherits LayoutComponentBase
|
|
@inject IOptions<GatewayOptions> GatewayOptions
|
|
|
|
<div class="dashboard-shell">
|
|
<nav class="navbar navbar-expand-lg bg-body border-bottom dashboard-navbar">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="">MXAccess Gateway</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#dashboardNav"
|
|
aria-controls="dashboardNav" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="dashboardNav">
|
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
|
<li class="nav-item">
|
|
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">Overview</NavLink>
|
|
</li>
|
|
<li class="nav-item">
|
|
<NavLink class="nav-link" href="sessions">Sessions</NavLink>
|
|
</li>
|
|
<li class="nav-item">
|
|
<NavLink class="nav-link" href="workers">Workers</NavLink>
|
|
</li>
|
|
<li class="nav-item">
|
|
<NavLink class="nav-link" href="events">Events</NavLink>
|
|
</li>
|
|
<li class="nav-item">
|
|
<NavLink class="nav-link" href="settings">Settings</NavLink>
|
|
</li>
|
|
</ul>
|
|
<form method="post" action="@DashboardPath("/logout")" class="d-flex">
|
|
<AntiforgeryToken />
|
|
<button class="btn btn-outline-secondary btn-sm" type="submit">Sign out</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<main class="container-fluid dashboard-content">
|
|
@Body
|
|
</main>
|
|
</div>
|
|
|
|
@code {
|
|
private string DashboardPath(string relativePath)
|
|
{
|
|
string pathBase = GatewayOptions.Value.Dashboard.PathBase.TrimEnd('/');
|
|
if (string.IsNullOrWhiteSpace(pathBase))
|
|
{
|
|
pathBase = "/dashboard";
|
|
}
|
|
|
|
return $"{pathBase}{relativePath}";
|
|
}
|
|
}
|