forked from data.coop/membersystem
214 lines
6.8 KiB
HTML
214 lines
6.8 KiB
HTML
{% load utils %}
|
||
{% load i18n %}
|
||
{% load static %}
|
||
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="description" content="">
|
||
<title>{% block head_title %}{% endblock %} – {{ site.name }}</title>
|
||
|
||
<link href="{% static "/css/bootstrap.min.css" %}" rel="stylesheet"
|
||
crossorigin="anonymous">
|
||
|
||
<link href="{% static "/css/bootstrap-icons.css" %}" rel="stylesheet"
|
||
crossorigin="anonymous">
|
||
|
||
<style>
|
||
body {
|
||
font-size: .875rem;
|
||
}
|
||
|
||
/*
|
||
* Sidebar
|
||
*/
|
||
|
||
.sidebar {
|
||
position: fixed;
|
||
top: 0;
|
||
bottom: 0;
|
||
left: 0;
|
||
z-index: 100; /* Behind the navbar */
|
||
padding: 48px 0 0; /* Height of navbar */
|
||
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);
|
||
}
|
||
|
||
@media (max-width: 767.98px) {
|
||
.sidebar {
|
||
top: 5rem;
|
||
}
|
||
}
|
||
|
||
.sidebar-sticky {
|
||
position: relative;
|
||
top: 0;
|
||
height: calc(100vh - 48px);
|
||
padding-top: .5rem;
|
||
overflow-x: hidden;
|
||
overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
|
||
}
|
||
|
||
.sidebar .nav-link {
|
||
font-weight: 500;
|
||
color: #333;
|
||
}
|
||
|
||
.sidebar .nav-link .feather {
|
||
margin-right: 4px;
|
||
color: #727272;
|
||
}
|
||
|
||
.sidebar .nav-link.active {
|
||
color: #007bff;
|
||
}
|
||
|
||
.sidebar .nav-link:hover .feather,
|
||
.sidebar .nav-link.active .feather {
|
||
color: inherit;
|
||
}
|
||
|
||
.sidebar-heading {
|
||
font-size: .75rem;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
/*
|
||
* Navbar
|
||
*/
|
||
|
||
.navbar-brand {
|
||
padding-top: .75rem;
|
||
padding-bottom: .75rem;
|
||
font-size: 1rem;
|
||
background-color: rgba(0, 0, 0, .25);
|
||
box-shadow: inset -1px 0 0 rgba(0, 0, 0, .25);
|
||
}
|
||
|
||
.navbar .navbar-toggler {
|
||
top: .25rem;
|
||
right: 1rem;
|
||
}
|
||
|
||
.navbar .form-control {
|
||
padding: .75rem 1rem;
|
||
border-width: 0;
|
||
border-radius: 0;
|
||
}
|
||
|
||
.form-control-dark {
|
||
color: #fff;
|
||
background-color: rgba(255, 255, 255, .1);
|
||
border-color: rgba(255, 255, 255, .1);
|
||
}
|
||
|
||
.form-control-dark:focus {
|
||
border-color: transparent;
|
||
box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
|
||
} </style>
|
||
|
||
<script src="{% static "js/bootstrap.bundle.min.js" %}"
|
||
crossorigin="anonymous"></script>
|
||
</head>
|
||
<body>
|
||
|
||
<header class="navbar navbar-dark sticky-top bg-dark flex-md-nowrap p-0 shadow">
|
||
<a class="navbar-brand col-md-3 col-lg-2 me-0 px-3" href="#">{{ site.name }}</a>
|
||
<button class="navbar-toggler position-absolute d-md-none collapsed" type="button"
|
||
data-bs-toggle="collapse" data-bs-target="#sidebarMenu"
|
||
aria-controls="sidebarMenu" aria-expanded="false"
|
||
aria-label="Toggle navigation">
|
||
<span class="navbar-toggler-icon"></span>
|
||
</button>
|
||
<ul class="navbar-nav px-3">
|
||
<li class="nav-item text-nowrap">
|
||
<a class="nav-link" href="{% url "account_logout" %}">
|
||
<i class="bi bi-person-circle"></i>
|
||
Sign out</a>
|
||
</li>
|
||
</ul>
|
||
</header>
|
||
|
||
<div class="container-fluid">
|
||
<div class="row">
|
||
<nav id="sidebarMenu"
|
||
class="col-md-3 col-lg-2 d-md-block bg-light sidebar collapse">
|
||
<div class="position-sticky pt-3">
|
||
<ul class="nav flex-column">
|
||
<li class="nav-item">
|
||
<a class="nav-link {% active_path "index" "active" %}"
|
||
href="{% url "index" %}">
|
||
{% trans "Dashboard" %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
|
||
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
|
||
<span>{% trans "Profile" %}</span>
|
||
</h6>
|
||
|
||
<ul class="nav flex-column">
|
||
<li class="nav-item">
|
||
<a class="nav-link" href="#">
|
||
{% trans "Details" %}
|
||
</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link {% active_path "account_email" "active" %}"
|
||
aria-current="page" href="{% url "account_email" %}">
|
||
{% trans "Emails" %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
|
||
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
|
||
<span>{% trans "Membership" %}</span>
|
||
</h6>
|
||
|
||
<ul class="nav flex-column">
|
||
<li class="nav-item">
|
||
<a class="nav-link {% active_path "membership-overview" "active" %}"
|
||
aria-current="page" href="{% url "membership-overview" %}">
|
||
{% trans "Overview" %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
|
||
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
|
||
<span>{% trans "Services" %}</span>
|
||
</h6>
|
||
|
||
<ul class="nav flex-column">
|
||
<li class="nav-item">
|
||
<a class="nav-link {% active_path "services-overview" "active" %}"
|
||
href="{% url "services-overview" %}">
|
||
{% trans "Overview" %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
|
||
{% if perms.membership.administrate_memberships %}
|
||
<h6 class="sidebar-heading d-flex justify-content-between align-items-center px-3 mt-4 mb-1 text-muted">
|
||
<span>{% trans "Admin" %}</span>
|
||
</h6>
|
||
<ul class="nav flex-column mb-2">
|
||
<li class="nav-item {% active_path "admin-members" "active" %}">
|
||
<a class="nav-link" href="{% url "admin-members" %}">
|
||
<span data-feather="file-text"></span>
|
||
{% trans "Members" %}
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
{% endif %}
|
||
</div>
|
||
</nav>
|
||
|
||
<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 p-4">
|
||
{% block content %}
|
||
{% endblock %}
|
||
</main>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html>
|