30 lines
664 B
Plaintext
30 lines
664 B
Plaintext
package components
|
|
|
|
templ Sidebar(routes []NavRoutes) {
|
|
<aside
|
|
id="sidebar"
|
|
class="flex flex-col bg-base-100 border-r border-base-300 transition-all duration-300"
|
|
>
|
|
<nav class="flex-1 overflow-y-auto p-2">
|
|
<ul class="menu menu-vertical p-0">
|
|
for _, r := range routes {
|
|
<li>
|
|
<a
|
|
hx-get={ r.Path }
|
|
hx-target="main"
|
|
hx-swap="innerHTML"
|
|
class="sidebar-link rounded-lg py-2.5 px-3 text-base-content items-center"
|
|
>
|
|
if r.Icon != nil {
|
|
<span class="sidebar-icon flex items-center justify-center">
|
|
@r.Icon
|
|
</span>
|
|
}
|
|
</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</nav>
|
|
</aside>
|
|
}
|