CUB-122: Scaffold Control Center React frontend
All checks were successful
Dev Build / build-test (pull_request) Successful in 1m57s

This commit is contained in:
2026-05-07 20:15:30 -04:00
parent cce3e061a7
commit 8da593c450
116 changed files with 10724 additions and 6611 deletions

View File

@@ -0,0 +1,44 @@
<aside
class="nav-rail"
[class.nav-rail--expanded]="expanded()"
[attr.aria-label]="'Navigation'"
>
<!-- Header with OpenClaw brand -->
<div class="nav-rail__header">
<button
class="nav-rail__toggle"
(click)="toggleExpand()"
[attr.aria-label]="expanded() ? 'Collapse navigation' : 'Expand navigation'"
[attr.aria-expanded]="expanded()"
>
<mat-icon>menu</mat-icon>
</button>
@if (expanded()) {
<span class="nav-rail__brand">OpenClaw</span>
}
</div>
<!-- Navigation destinations -->
<nav class="nav-rail__nav">
@for (dest of destinations; track dest.route) {
<a
[routerLink]="dest.route"
routerLinkActive="nav-rail__item--active"
[attr.aria-label]="dest.label"
class="nav-rail__item"
>
<mat-icon
[matBadge]="dest.badge ?? 0"
[matBadgeHidden]="!dest.badge"
matBadgePosition="above after"
matBadgeSize="small"
>
{{ dest.icon }}
</mat-icon>
@if (expanded()) {
<span class="nav-rail__label">{{ dest.label }}</span>
}
</a>
}
</nav>
</aside>