src/CubeServer-app/cubeserver_app/templates/navbar.html.jinja2
{# TODO: Use a macro to simplify these links up a bit: #}
{% block navbar %}
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container-fluid">
<a class="navbar-brand px-3" href="/">{{ config['CONSTANTS'].LONG_TITLE }}</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarColor01" aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarColor01">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link {{'active' if request.endpoint != 'home.home' else 'disabled selected'}}" href="/">Home
</a>
</li>
<li class="nav-item">
<a class="nav-link {{'active' if request.endpoint != 'home.leaderboard' else 'disabled selected'}}" href="/stats">Leaderboard
</a>
</li>
{% if config['CONFIGURABLE'].registration_open %}
<li class="nav-item">
<a class="nav-link {{'active' if request.endpoint != 'team.register' else 'disabled selected'}}" href="/team/register">Register a Team
</a>
</li>
{% endif %}
</ul>
<hr>
<ul class="navbar-nav me-auto">
{% if session['username'] %}
<li class="nav-item">
<a class="nav-link {{'active' if request.endpoint != 'home.logout' else 'disabled selected'}}" href={{ url_for('home.logout') }}>Sign Out
</a>
</li>
<li class="nav-item">
<a class="nav-link {{'active' if request.endpoint != 'home.settings' else 'disabled selected'}}" href={{ url_for('home.settings') }}>Profile
</a>
</li>
{% else %}
<li class="nav-item">
<a class="nav-link {{'active' if request.endpoint != 'home.login' else 'disabled selected'}}" href={{ url_for('home.login') }}>Sign In
</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link {{'active' if request.endpoint != 'about.about' else 'disabled selected'}}" href="/about">About
</a>
</li>
<li class="nav-item">
<a class="nav-link active text-info" target="_blank" href="https://github.com/snorklerjoe/CubeServer/">Source Code
</a>
</li>
</ul>
<button class="btn" type="button" id="toggleTheme">
<span class="glyphicon">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-palette" viewBox="0 0 16 16">
<path d="M8 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm4 3a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM5.5 7a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z"/>
<path d="M16 8c0 3.15-1.866 2.585-3.567 2.07C11.42 9.763 10.465 9.473 10 10c-.603.683-.475 1.819-.351 2.92C9.826 14.495 9.996 16 8 16a8 8 0 1 1 8-8zm-8 7c.611 0 .654-.171.655-.176.078-.146.124-.464.07-1.119-.014-.168-.037-.37-.061-.591-.052-.464-.112-1.005-.118-1.462-.01-.707.083-1.61.704-2.314.369-.417.845-.578 1.272-.618.404-.038.812.026 1.16.104.343.077.702.186 1.025.284l.028.008c.346.105.658.199.953.266.653.148.904.083.991.024C14.717 9.38 15 9.161 15 8a7 7 0 1 0-7 7z"/>
</svg>
</span>
{% if 'theme' in request.cookies %}
{{request.cookies.get('theme')|title}}
{% else %}
{{ config['CONSTANTS'].DEFAULT_THEME }}
{% endif %}
</button>
<hr>
<hr>
</div>
</div>
</nav>
{% endblock %}