|
33 | 33 | background-color: #0055b1;
|
34 | 34 | }
|
35 | 35 |
|
| 36 | + div.admin-header { |
| 37 | + background-color:#D66402 |
| 38 | + } |
| 39 | + |
36 | 40 | a.input-group-text:hover {
|
37 | 41 | cursor: pointer;
|
38 | 42 | text-decoration: none;
|
|
179 | 183 | </style>
|
180 | 184 | {{end}}
|
181 | 185 |
|
| 186 | +{{/* defines the top navigation bar */}} |
182 | 187 | {{define "navbar"}}
|
183 | 188 | <header class="mb-3">
|
184 | 189 | {{if .currentRealm}}
|
|
189 | 194 |
|
190 | 195 | <nav class="navbar navbar-expand-md navbar-dark bg-primary">
|
191 | 196 | <div class="container">
|
192 |
| - <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar" |
193 |
| - aria-expanded="false" aria-label="Toggle navigation"> |
194 |
| - <span class="navbar-toggler-icon"></span> |
195 |
| - </button> |
| 197 | + {{template "navtoggle" .}} |
196 | 198 |
|
197 | 199 | <div class="collapse navbar-collapse" id="navbar">
|
198 |
| - {{if .currentUser}} |
| 200 | + {{if .currentRealm}} |
199 | 201 | <ul class="navbar-nav mr-auto">
|
200 |
| - {{if .currentRealm}} |
201 | 202 | <li class="nav-item">
|
202 | 203 | <a class="nav-link" href="/home">Issue code</a>
|
203 | 204 | </li>
|
204 | 205 | <li class="nav-item">
|
205 | 206 | <a class="nav-link" href="/code/status">Check code status</a>
|
206 | 207 | </li>
|
207 |
| - {{end}} |
208 |
| - </ul> |
209 |
| - |
210 |
| - <ul class="navbar-nav ml-auto"> |
211 |
| - <li class="nav-item dropdown"> |
212 |
| - <a class="nav-link dropdown-toggle" href="#" id="profile-menu" data-toggle="dropdown" aria-haspopup="true" |
213 |
| - aria-expanded="false"> |
214 |
| - {{.currentUser.Name}} |
215 |
| - </a> |
216 |
| - |
217 |
| - <div class="dropdown-menu" aria-labelledby="profile-menu"> |
218 |
| - {{if .currentRealm }} |
219 |
| - {{if .currentUser.CanAdminRealm .currentRealm.ID}} |
220 |
| - <h6 class="dropdown-header">Manage realm</h6> |
221 |
| - <a class="dropdown-item" href="/apikeys">API keys</a> |
222 |
| - <a class="dropdown-item" href="/realm/keys">Signing keys</a> |
223 |
| - <a class="dropdown-item" href="/realm/stats">Statistics</a> |
224 |
| - <a class="dropdown-item" href="/users">Users</a> |
225 |
| - <a class="dropdown-item" href="/realm/settings#general">Settings</a> |
226 |
| - <div class="dropdown-divider"></div> |
227 |
| - {{end}} |
228 |
| - {{end}} |
229 |
| - |
230 |
| - {{if .currentUser.Admin}} |
231 |
| - <h6 class="dropdown-header">System admin</h6> |
232 |
| - <a class="dropdown-item" href="/admin/realms">Realms</a> |
233 |
| - <a class="dropdown-item" href="/admin/users">Admins</a> |
234 |
| - <div class="dropdown-divider"></div> |
235 |
| - {{end}} |
236 |
| - |
237 |
| - <h6 class="dropdown-header">Actions</h6> |
238 |
| - {{if gt (len .currentUser.Realms) 1}} |
239 |
| - <a class="dropdown-item" href="/login/select-realm">Change realm</a> |
240 |
| - {{end}} |
241 |
| - <a class="dropdown-item" href="/signout">Sign out</a> |
242 |
| - </div> |
243 |
| - </li> |
244 |
| - </ul> |
245 |
| - {{else}} |
246 |
| - <ul class="navbar-nav ml-auto"> |
247 |
| - <li class="nav-item"> |
248 |
| - <a class="nav-link" href="/">Sign in</a> |
249 |
| - </li> |
250 | 208 | </ul>
|
251 | 209 | {{end}}
|
| 210 | + {{template "navdropdown" .}} |
252 | 211 | </div>
|
253 | 212 | </div>
|
254 | 213 | </nav>
|
255 | 214 | </header>
|
256 | 215 | {{end}}
|
257 | 216 |
|
| 217 | +{{/* defines the hamburger menu toggle for mobile */}} |
| 218 | +{{define "navtoggle"}} |
| 219 | +<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar" aria-controls="navbar" |
| 220 | +aria-expanded="false" aria-label="Toggle navigation"> |
| 221 | + <span class="navbar-toggler-icon"></span> |
| 222 | +</button> |
| 223 | +{{end}} |
| 224 | + |
| 225 | +{{/* defines the user dropdown menu */}} |
| 226 | +{{define "navdropdown"}} |
| 227 | +<ul class="navbar-nav ml-auto"> |
| 228 | + {{if .currentUser}} |
| 229 | + <li class="nav-item dropdown"> |
| 230 | + <a class="nav-link dropdown-toggle" href="#" id="profile-menu" data-toggle="dropdown" aria-haspopup="true" |
| 231 | + aria-expanded="false"> |
| 232 | + {{.currentUser.Name}} |
| 233 | + </a> |
| 234 | + |
| 235 | + <div class="dropdown-menu" aria-labelledby="profile-menu"> |
| 236 | + {{if .currentRealm }} |
| 237 | + {{if .currentUser.CanAdminRealm .currentRealm.ID}} |
| 238 | + <h6 class="dropdown-header">Manage realm</h6> |
| 239 | + <a class="dropdown-item" href="/apikeys">API keys</a> |
| 240 | + <a class="dropdown-item" href="/realm/keys">Signing keys</a> |
| 241 | + <a class="dropdown-item" href="/realm/stats">Statistics</a> |
| 242 | + <a class="dropdown-item" href="/users">Users</a> |
| 243 | + <a class="dropdown-item" href="/realm/settings#general">Settings</a> |
| 244 | + <div class="dropdown-divider"></div> |
| 245 | + {{end}} |
| 246 | + {{end}} |
| 247 | + |
| 248 | + {{if .currentUser.Admin}} |
| 249 | + <h6 class="dropdown-header">System admin</h6> |
| 250 | + <a class="dropdown-item" href="/admin/realms">Realms</a> |
| 251 | + <a class="dropdown-item" href="/admin/users">Admins</a> |
| 252 | + <div class="dropdown-divider"></div> |
| 253 | + {{end}} |
| 254 | + |
| 255 | + <h6 class="dropdown-header">Actions</h6> |
| 256 | + {{if gt (len .currentUser.Realms) 1}} |
| 257 | + <a class="dropdown-item" href="/login/select-realm">{{if .currentRealm}}Change realm{{else}}Select realm{{end}}</a> |
| 258 | + {{end}} |
| 259 | + <a class="dropdown-item" href="/signout">Sign out</a> |
| 260 | + </div> |
| 261 | + </li> |
| 262 | + {{else}} |
| 263 | + <li class="nav-item"> |
| 264 | + <a class="nav-link" href="/">Sign in</a> |
| 265 | + </li> |
| 266 | + {{end}} |
| 267 | +</ul> |
| 268 | +{{end}} |
| 269 | + |
258 | 270 | {{define "scripts"}}
|
259 | 271 | <script type="text/javascript">
|
260 | 272 | $(function() {
|
|
0 commit comments