templates/base.html
<!DOCTYPE html>
{% load static i18n %}
{% load bootstrap5 %}
{# Load CSS and JavaScript #}
{% bootstrap_css %}
{% bootstrap_javascript %}
{# Display django.contrib.messages as Bootstrap alerts #}
{% bootstrap_messages %}
{% get_current_language as LANGUAGE_CODE %}
<html lang="{{ LANGUAGE_CODE }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}{% endblock title %} | Virtual Judge</title>
<style>
.dropdown-menu {
transform: translateX(-40%);
}
</style>
{% block head %}{% endblock head %}
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css"
integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq"
crossorigin="anonymous"
>
<script
defer
src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js"
integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz"
crossorigin="anonymous"
></script>
<script
defer
src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js"
integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI"
crossorigin="anonymous"
onload="renderMathInElement(document.body);">
</script>
</head>
<body class="bg-light">
<header>
<nav class="navbar navbar-expand-lg bg-body-tertiary bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="{% url 'home' %}">Virtual Judge</a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
</li>
<li class="nav-item">
<a class="nav-link text-white" href="{% url 'users:ranking' %}">
Ranking
</a>
</li>
<li class="nav-item">
<a class="nav-link text-white" href="{% url 'submissions:list' %}">
Submissions
</a>
</li>
</ul>
{% if request.user.is_authenticated %}
<div class="dropdown">
<a
class="dropdown-toggle nav-link text-white"
href="#"
role="button"
data-bs-toggle="dropdown"
aria-expanded="false"
>
{{ request.user.username }}
</a>
<ul class="dropdown-menu">
{% if request.user.is_staff %}
<li>
<a href="{% url 'admin:index' %}" class="dropdown-item">
Admin
</a>
</li>
{% endif %}
<li><a href="{% url 'users:profile' user.username %}" class="dropdown-item">Your profile</a></li>
<li><hr class="dropdown-divider"></li>
<li>
<a href="{% url 'logout' %}" class="dropdown-item">
Sign out
</a>
</li>
</ul>
</div>
{% else %}
<a href="{% url 'users:register' %}" class="nav-link text-white">Register</a>
<a href="{% url 'login' %}" class="nav-link text-white">Sign in</a>
{% endif %}
</div>
</div>
</nav>
</header>
<main class="container mt-5" style="max-width: 720px;">
{% block content %}{% endblock content %}
</main>
<footer class="mt-5"></footer>
</body>
</html>