feat(frontend): add reusable admin sidebar component
- 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
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
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>
|
||||
}
|
||||
Reference in New Issue
Block a user