- Create AdminSidebar component for admin panel navigation - Support active state highlighting based on currentPath - Consistent navigation across all admin pages - Replaces duplicated sidebar markup in admin templates
30 lines
1.1 KiB
Templ
30 lines
1.1 KiB
Templ
package templates
|
|
|
|
templ AdminSidebar(user User, currentPath string) {
|
|
<aside class="w-64 border-r" style="background-color: var(--bg-secondary); border-color: var(--border)">
|
|
<div class="p-6">
|
|
<h2 class="text-lg font-semibold mb-6" style="color: var(--text-primary)">Admin Panel</h2>
|
|
<nav class="space-y-2">
|
|
<a href="/admin"
|
|
class={"block px-4 py-2 rounded-lg " +
|
|
("bg-accent text-bg-primary" if currentPath == "/admin" else "hover:opacity-80")}
|
|
style="color: var(--text-primary)">
|
|
🏠 Dashboard
|
|
</a>
|
|
<a href="/admin/users"
|
|
class={"block px-4 py-2 rounded-lg " +
|
|
("bg-accent text-bg-primary" if currentPath == "/admin/users" else "hover:opacity-80")}
|
|
style="color: var(--text-primary)">
|
|
👤 User Administration
|
|
</a>
|
|
<a href="/admin/library"
|
|
class={"block px-4 py-2 rounded-lg " +
|
|
("bg-accent text-bg-primary" if currentPath == "/admin/library" else "hover:opacity-80")}
|
|
style="color: var(--text-primary)">
|
|
📚 Library Management
|
|
</a>
|
|
</nav>
|
|
</div>
|
|
</aside>
|
|
}
|