Apply the new design-system primitives across the remaining pages so the whole app shares one visual language: - Auth/entry: redesigned index, login, register (centered card layout, SVG icons, semantic tokens) - Admin: sidebar nav with icons, cohesive admin dashboard/users/library/ processing-issues/settings (tables use border-line + hover states; scan/websocket attributes preserved) - Secondary: analytics (stat cards), devices, progress, conflicts, queue, profile + form/modal all migrated to .card/.btn/.input primitives and SVG action icons - Docs + API explorer + setup wizard + collection/rules/modals + unlinked books + book-detail modals: consistent chrome, modal scrims use --surface-overlay, close buttons use icon-btn - reader.templ and error.templ intentionally left unchanged
31 lines
908 B
Templ
31 lines
908 B
Templ
package templates
|
|
|
|
templ AdminSidebar(user User, currentPath string) {
|
|
<aside class="w-60 shrink-0 border-r border-line bg-surface-raised">
|
|
<div class="p-5">
|
|
<h2 class="mb-5 flex items-center gap-2 text-sm font-bold uppercase tracking-wide text-content-muted">
|
|
@Icon("shield", "h-4 w-4")
|
|
Admin
|
|
</h2>
|
|
<nav class="space-y-1">
|
|
<a href="/admin" class={ activeClass(currentPath, "/admin") }>
|
|
@Icon("home", "h-4 w-4")
|
|
Dashboard
|
|
</a>
|
|
<a href="/admin/users" class={ activeClass(currentPath, "/admin/users") }>
|
|
@Icon("users", "h-4 w-4")
|
|
Users
|
|
</a>
|
|
<a href="/admin/library" class={ activeClass(currentPath, "/admin/library") }>
|
|
@Icon("library", "h-4 w-4")
|
|
Libraries
|
|
</a>
|
|
<a href="/admin/settings" class={ activeClass(currentPath, "/admin/settings") }>
|
|
@Icon("settings", "h-4 w-4")
|
|
Settings
|
|
</a>
|
|
</nav>
|
|
</div>
|
|
</aside>
|
|
}
|