80 lines
4.2 KiB
HTML
80 lines
4.2 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<title>{{ config.SITE_TITLE }}</title>
|
|
<meta name="description" content="{{ config.SITE_DESCRIPTION }}">
|
|
<meta name="author" content="{{ config.SITE_AUTHOR }}">
|
|
|
|
<meta property="og:title" content="{{ config.SITE_TITLE }}">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:url" content="{{ request.url }}">
|
|
<meta property="og:description" content="{{ config.SITE_DESCRIPTION }}">
|
|
<meta property="og:image" content="{{ url_for('static', filename='images/base/og.png') }}">
|
|
|
|
<link rel="icon" href="{{ url_for('static', filename='images/base/favicon.ico') }}">
|
|
<link rel="icon" href="{{ url_for('static', filename='images/base/favicon.svg') }}" type="image/svg+xml">
|
|
<link rel="apple-touch-icon" href="{{ url_for('static', filename='images/base/apple-touch-icon.png') }}">
|
|
|
|
<!--<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">-->
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.2/font/bootstrap-icons.css">
|
|
</head>
|
|
|
|
<body>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-OERcA2EqjJCMA+/3y+gxIOqMEjwtxJY7qPCqsdltbNJuaOe923+mo//f6V8Qbsw3" crossorigin="anonymous"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.1/dist/jquery.min.js" integrity="sha256-o88AwQnZB+VDvE9tvIXrMQaPlFFSUTR+nldQm1LuPXQ=" crossorigin="anonymous"></script>
|
|
<nav class="navbar navbar-expand-lg bg-light">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="{{ url_for('index') }}">
|
|
<img src="{{ url_for('static', filename='images/base/navbar-logo.svg') }}"
|
|
alt="Lumi2 Logo" style="max-height: 60px"
|
|
>
|
|
</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">
|
|
<a class="nav-link" href="{{ url_for('usermanager.user_list') }}">Users</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="{{ url_for('usermanager.group_list') }}">Groups</a>
|
|
</li>
|
|
</ul>
|
|
{% if g.is_authenticated %}
|
|
<div class="d-flex"">
|
|
<a class="btn btn-outline-primary"
|
|
href="{{ url_for('auth.logout') }}"
|
|
role="button">Log Out</a>
|
|
</div>
|
|
{% else %}
|
|
<div class="d-flex"">
|
|
<a class="btn btn-primary"
|
|
href="{{ url_for('auth.login') }}"
|
|
role="button">Log In</a>
|
|
</div>
|
|
{% endif%}
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
{% with messages = get_flashed_messages() %}
|
|
{% if messages %}
|
|
{% for message in messages %}
|
|
<div class="alert alert-primary alert-dismissible" role="alert">
|
|
<div>{{ message }}</div>
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
</div>
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endwith %}
|
|
<div class="container border rounded mt-3">
|
|
{% block content %}
|
|
{% endblock content %}
|
|
</div>
|
|
</body>
|
|
</html>
|