Files
ChronoCCG/Chrono/DatabaseTest/Components/Layout/NavMenu.razor
T
6d486f49 09a8adfc4a Test
2026-08-14 17:19:24 -04:00

77 lines
2.3 KiB
Plaintext

@implements IDisposable
<div class="nav-brand">
<i class="bi bi-database-fill-gear"></i>
<span>Chrono DB Hub</span>
</div>
<div class="px-3 pt-3 pb-2">
<div class="p-2 rounded bg-dark border border-secondary border-opacity-25">
<div class="d-flex align-items-center justify-content-between mb-1">
<span class="text-secondary small fw-semibold">PROVIDER</span>
<span class="badge @(ConfigService.ProviderType == DatabaseProviderType.PostgreSQL ? "bg-primary" : "bg-purple")" style="font-size: 0.72rem;">
@ConfigService.ProviderType
</span>
</div>
<div class="small text-truncate text-light" style="font-size: 0.78rem;" title="@ConfigService.GetActiveProviderDescription()">
@(ConfigService.ProviderType == DatabaseProviderType.PostgreSQL ? "PostgreSQL Server" : "In-Memory Test DB")
</div>
</div>
</div>
<div class="nav-menu">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<i class="bi bi-speedometer2"></i>
<span>Dashboard</span>
</NavLink>
<NavLink class="nav-link" href="card-notes">
<i class="bi bi-card-text"></i>
<span>Card Notes</span>
</NavLink>
<NavLink class="nav-link" href="user-decks">
<i class="bi bi-collection-play"></i>
<span>User Decks</span>
</NavLink>
<NavLink class="nav-link" href="passkeys">
<i class="bi bi-key-fill"></i>
<span>Passkeys</span>
</NavLink>
<NavLink class="nav-link" href="test-suite">
<i class="bi bi-clipboard2-check-fill"></i>
<span>Test Suite Runner</span>
</NavLink>
<NavLink class="nav-link" href="diagnostics">
<i class="bi bi-sliders"></i>
<span>DB & Migrations</span>
</NavLink>
</div>
<div class="sidebar-footer">
<div class="d-flex align-items-center justify-content-between">
<span>Chrono CCG Cloud DB</span>
<span class="badge bg-secondary">.NET 10</span>
</div>
</div>
@code {
protected override void OnInitialized()
{
ConfigService.OnConfigurationChanged += HandleConfigChanged;
}
private void HandleConfigChanged()
{
InvokeAsync(StateHasChanged);
}
public void Dispose()
{
ConfigService.OnConfigurationChanged -= HandleConfigChanged;
}
}