41 lines
1.2 KiB
HTML
41 lines
1.2 KiB
HTML
<aside class="sidebar" [class.open]="isOpen()">
|
|
<nav class="sidebar-nav">
|
|
<mat-nav-list>
|
|
@for (item of navItems; track item.route) {
|
|
@if (shouldShowItem(item)) {
|
|
<a
|
|
mat-list-item
|
|
[routerLink]="item.route"
|
|
[class.active]="isActiveRoute(item.route)"
|
|
[matTooltip]="item.label"
|
|
matTooltipPosition="right"
|
|
[matTooltipDisabled]="isOpen()">
|
|
<mat-icon matListItemIcon [matBadge]="item.badge" matBadgeColor="accent">
|
|
{{ item.icon }}
|
|
</mat-icon>
|
|
<span matListItemTitle class="nav-label">{{ item.label }}</span>
|
|
</a>
|
|
|
|
@if (item.dividerAfter) {
|
|
<mat-divider></mat-divider>
|
|
}
|
|
}
|
|
}
|
|
</mat-nav-list>
|
|
|
|
<!-- Guest Mode Section -->
|
|
@if (!isAuthenticated) {
|
|
<div class="guest-section">
|
|
<mat-divider></mat-divider>
|
|
<div class="guest-prompt">
|
|
<mat-icon>info</mat-icon>
|
|
<p>Sign up for full access</p>
|
|
<button mat-raised-button color="primary" routerLink="/register">
|
|
Create Account
|
|
</button>
|
|
</div>
|
|
</div>
|
|
}
|
|
</nav>
|
|
</aside>
|