Add initial setup and admin page
Some checks failed
Cargo Build & Test / Rust project - latest (stable) (push) Failing after 23s
Cargo Build & Test / Rust project - latest (beta) (push) Failing after 35s
Cargo Build & Test / Rust project - latest (nightly) (push) Failing after 33s

This commit is contained in:
2025-10-04 16:04:19 -05:00
parent bf5d3dc222
commit f859f8f34b
15 changed files with 926 additions and 44 deletions

View File

@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
{% block head %}
<meta charset="utf-8">
<title>{% block title %}{% endblock title %}</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous">
{#<link href="style.css" rel="stylesheet" />#}
{% endblock head %}
</head>
<body>
{% block body %}
<div id="header">
{% block header %}
<nav class="navbar navbar-expand-lg bg-body-tertiary">
<div class="container-fluid">
<a class="navbar-brand" href="#">GPodder-rs</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">
{% if username is defined and username is string %}
{% if admin %}
<li class="nav-item">
<a class="nav-link" href="/admin">Admin</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link" href="/account">Account ({{username}})</a>
</li>
{% else %}
<li class="nav-item">
<a class="nav-link" href="/login">Login</a>
</li>
{% endif %}
</ul>
</div>
</div>
</nav>
{% endblock header %}
</div>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">{% block footer %}{% endblock %}</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script>
{% endblock body %}
</body>
</html>