112 lines
6.5 KiB
Django/Jinja
112 lines
6.5 KiB
Django/Jinja
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="initial-scale=1, width=device-width">
|
|
|
|
<!-- https://stackoverflow.com/questions/1321878/how-to-prevent-favicon-ico-requests -->
|
|
<link rel="icon" href="data:image/png;base64,iVBORw0KGgo=">
|
|
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
|
|
|
|
{% block head %}{% endblock %}
|
|
|
|
<title> Smarter: {% block title %}{% endblock %} </title>
|
|
</head>
|
|
<body class="bg-info-subtle">
|
|
<header>
|
|
{% if config["BETA_VERSION"] %}
|
|
<div class="alert bg-info-subtle text-success border-success-subtle border-bottom text-center rounded-0 mb-0 p-1">This website is in a beta version. Expect bugs.</div>
|
|
{% endif %}
|
|
<nav class="navbar navbar-expand-lg bg-info-subtle border-bottom border-success-subtle">
|
|
<div class="container-fluid">
|
|
<a class="text-success navbar-brand h1 mb-0" href="{{ url_for('index') }}">Smarter</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
<ul class="text-success navbar-nav me-auto mb-2 mb-lg-0">
|
|
<li class="nav-item">
|
|
<a class="text-success nav-link" href="{{ url_for('game.create_game') }}">Create game</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="text-success nav-link" href="{{ url_for('game.join_game') }}">Join game</a>
|
|
</li>
|
|
<li class="nav-item dropdown">
|
|
<a class="text-success nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">
|
|
Questions
|
|
</a>
|
|
<ul class="dropdown-menu border-success-subtle bg-info-subtle">
|
|
<li><a class="text-success dropdown-item" href="{{ url_for('questions.otdb_browse') }}">Browse</a></li>
|
|
<li><a class="text-success dropdown-item" href="{{ url_for('questions.add') }}">Add</a></li>
|
|
{% if g.user.admin %}
|
|
<li><a class="text-success dropdown-item" href="{{ url_for('admin.verify_questions') }}">Verify</a></li>
|
|
{% endif %}
|
|
</ul>
|
|
</li>
|
|
<li class="nav-item dropdown">
|
|
<a class="text-success nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">
|
|
Question sets
|
|
</a>
|
|
<ul class="dropdown-menu border-success-subtle bg-info-subtle">
|
|
<li><a class="text-success dropdown-item" href="{{ url_for('question_sets.browse') }}">Browse</a></li>
|
|
<li><a class="text-success dropdown-item" href="{{ url_for('question_sets.add') }}">Add</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="text-success nav-link" href="{{ url_for('about.index') }}">About</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<ul class="ms-auto navbar-nav mb-2 mb-lg-0">
|
|
{% if g.user %}
|
|
<span class="text-success navbar-text me-2">Logged in as <strong>{{ g.user["username"] }}</strong></span>
|
|
<li class="nav-item">
|
|
<a class="text-success nav-link me-2" href="{{ url_for('auth.logout') }}">Log out</a>
|
|
</li>
|
|
{% else %}
|
|
<li class="nav-item">
|
|
<a class="text-success nav-link me-2" href="{{ url_for('auth.register') }}">Register</a>
|
|
</li>
|
|
|
|
<li class="nav-item">
|
|
<a class="text-success nav-link me-2" href="{{ url_for('auth.login') }}">Login</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
<main>
|
|
{% with messages = get_flashed_messages(with_categories=True) %}
|
|
{% if messages %}
|
|
<div class="row justify-content-center mt-3">
|
|
<div class="col-lg-4 col-md-6 col-sm-8">
|
|
{% for category, message in messages %}
|
|
{% if category == "question-rejection" %}
|
|
<div class="alert bg-info-subtle border-success-subtle alert-dismissible row" role="alert">
|
|
<p class="text-success col-10">{{ message }}</p>
|
|
<div class="col-2 text-end">
|
|
<a class="text-success link-offset-2" href="{{ url_for('about.question_removed') }}">Why?</a>
|
|
</div>
|
|
{% else %}
|
|
<div class="alert bg-info-subtle border-success-subtle alert-dismissible" role="alert">
|
|
<p class="text-success">{{ message }}</p>
|
|
{% endif %}
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endwith %}
|
|
|
|
{% block main %}
|
|
{% endblock %}
|
|
</main>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
|
|
{% block after_bootstrap_js %} {% endblock %}
|
|
</body>
|
|
</html>
|