83 lines
4.4 KiB
Django/Jinja
83 lines
4.4 KiB
Django/Jinja
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Allmende Bezahlsystem</title>
|
|
<!-- Bootstrap 5 CSS -->
|
|
<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="/static/css/aps.css" rel="stylesheet">
|
|
</head>
|
|
<body>
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<!-- Left Sidebar (always visible, stacks on mobile) -->
|
|
<div class="col-md-3 col-lg-2 p-0 sidebar">
|
|
<div class="d-flex flex-column p-3">
|
|
<a href="/" class="navbar-brand d-flex align-items-center mb-4">
|
|
<img src="/static/img/Logo.png" alt="Logo" class="me-2">
|
|
<span class="fs-4">APS</span>
|
|
</a>
|
|
<ul class="nav nav-pills flex-column mb-auto">
|
|
<li class="nav-item">
|
|
<a href="/" class="nav-link{% if request.url.path == "/"%} active{% endif %}">
|
|
Übersicht
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a href="/shop" class="nav-link{% if request.url.path.startswith("/shop")%} active{% endif %}">
|
|
Einkaufen
|
|
</a>
|
|
</li>
|
|
{% if request.state.user.has_permission("product", "edit") %}
|
|
<li class="nav-item">
|
|
<a href="/admin/products" class="nav-link{% if request.url.path.startswith("/admin/products")%} active{% endif %}">
|
|
Produktverwaltung
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
{% if request.state.user.has_permission("user", "edit") %}
|
|
<li class="nav-item">
|
|
<a href="/admin/users" class="nav-link{% if request.url.path.startswith("/admin/users")%} active{% endif %}">
|
|
Nutzerverwaltung
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a href="/admin/groups" class="nav-link{% if request.url.path.startswith("/admin/groups")%} active{% endif %}">
|
|
Gruppenverwaltung
|
|
</a>
|
|
</li>
|
|
{% endif %}
|
|
</ul>
|
|
|
|
<!-- Shopping Cart at Bottom -->
|
|
<div class="mt-auto pt-3 border-top">
|
|
<a href="/shop/cart" class="btn btn-primary w-100 position-relative">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="bi bi-cart3 me-2" viewBox="0 0 16 16">
|
|
<path d="M0 1.5A.5.5 0 0 1 .5 1H2a.5.5 0 0 1 .485.379L2.89 3H14.5a.5.5 0 0 1 .49.598l-1 5a.5.5 0 0 1-.465.401l-9.397.472L4.415 11H13a.5.5 0 0 1 0 1H4a.5.5 0 0 1-.491-.408L2.01 3.607 1.61 2H.5a.5.5 0 0 1-.5-.5M3.102 4l.84 4.479 9.144-.459L13.89 4zM5 12a2 2 0 1 0 0 4 2 2 0 0 0 0-4m7 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4m-7 1a1 1 0 1 1 0 2 1 1 0 0 1 0-2m7 0a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/>
|
|
</svg>
|
|
Warenkorb
|
|
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">
|
|
{{ request.state.user.shopping_cart.items|length }}
|
|
<span class="visually-hidden">Artikel im Warenkorb</span>
|
|
</span>
|
|
</a>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Main Content -->
|
|
<main class="col-md-9 ms-sm-auto col-lg-10 p-md-4 main-content">
|
|
{% block content %}
|
|
|
|
{% endblock %}
|
|
</main>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Bootstrap 5 JS Bundle with Popper -->
|
|
<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>
|
|
</body>
|
|
</html>
|