47 lines
2.3 KiB
HTML
47 lines
2.3 KiB
HTML
{{define "navbar"}}
|
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="/">Webhooker</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
<ul class="navbar-nav me-auto">
|
|
{{if .User}}
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/sources">Sources</a>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
<ul class="navbar-nav">
|
|
{{if .User}}
|
|
<!-- Logged in state -->
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle d-flex align-items-center" href="#" id="userDropdown" role="button" data-bs-toggle="dropdown">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="bi bi-person-circle me-2" viewBox="0 0 16 16">
|
|
<path d="M11 6a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
|
|
<path fill-rule="evenodd" d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm8-7a7 7 0 0 0-5.468 11.37C3.242 11.226 4.805 10 8 10s4.757 1.225 5.468 2.37A7 7 0 0 0 8 1z"/>
|
|
</svg>
|
|
{{.User.Username}}
|
|
</a>
|
|
<ul class="dropdown-menu dropdown-menu-end">
|
|
<li><a class="dropdown-item" href="/user/{{.User.Username}}">Profile</a></li>
|
|
<li><hr class="dropdown-divider"></li>
|
|
<li>
|
|
<form method="POST" action="/pages/logout" class="m-0">
|
|
<button type="submit" class="dropdown-item">Logout</button>
|
|
</form>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
{{else}}
|
|
<!-- Logged out state -->
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="/pages/login">Login</a>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
{{end}} |