Smarter/smarter/templates/base.j2
Arija A. a3a6316054
.html -> .j2 for Jinja2 correctness
Signed-off-by: Arija A. <ari@ari.lt>
2025-05-27 23:34:42 +03:00

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>