hbnet/web/templates/flask_user_layout.html
2021-10-06 13:13:50 -07:00

178 lines
7.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ user_manager.USER_APP_NAME }}</title>
<!-- Bootstrap -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.15.5/dist/bootstrap-table.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css">
<!-- In-lining styles to avoid needing a separate .css file -->
<style>
hr { border-color: #cccccc; margin: 0; }
.no-margins { margin: 0px; }
.with-margins { margin: 10px; }
.col-centered { float: none; margin: 0 auto; }
</style>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7/html5shiv.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.js"></script>
<![endif]-->
{# *** Allow sub-templates to insert extra html to the head section *** #}
{% block extra_css %}{% endblock %}
</head>
<body>
<p><img class="img-responsive" style="display: block; margin-left: auto; margin-right: auto;" src="{{ url_for('static', filename='HBnet.png') }}" alt="Logo" width="300" height="144" /></p>
<h2 class="card-body" style="text-align: center;">{{ user_manager.USER_APP_NAME }}</h2>
<hr />
<!-- A grey horizontal navbar that becomes vertical on small screens -->
<nav class="navbar navbar-expand-sm bg-light">
<div class="container-fluid">
<!-- Links -->
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="{{url}}/"><i class="bi bi-house-fill"></i> Home </a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{url}}/talkgroups"><i class="bi bi-card-list"></i> Talkgroups </a>
<li class="nav-item">
<a class="nav-link" href="{{url}}/map"><i class="bi bi-map"></i> Map </a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="aprs_menu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-hash"></i> Data
</a>
<ul class="dropdown-menu" aria-labelledby="aprs_menu">
<li><a class="dropdown-item" href="{{url}}/aprs"><i class="bi bi-geo"></i> APRS Dashboard </a></li>
<li><a class="dropdown-item" href="{{url}}/sms"><i class="bi bi-chat-right-text"></i> SMS Log </a></li>
<li><a class="dropdown-item" href="{{url}}/bb"><i class="bi bi-clipboard"></i> Bulletin Board </a></li>
<li><a class="dropdown-item" href="{{url}}/ss"><i class="bi bi-people"></i> Social Status </a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="{{url}}/news"><i class="bi bi-newspaper"></i> News </a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{url}}/help"><i class="bi bi-question-square"></i> Help </a>
</li>
</ul>
<ul class="navbar-nav">
{% if not call_or_get(current_user.is_authenticated) %}
<li class="nav-item">
<a class="nav-link" href="{{ url_for('user.login') }}"><i class="bi bi-door-open"></i> Sign In </a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('user.register') }}"><i class="bi bi-person-plus"></i> Register </a>
</li>
{% endif %}
{% if call_or_get(current_user.is_authenticated) %}
<!--Admin Menu -->
{% if call_or_get(current_user.has_roles('Admin')) %}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="aprs_menu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-tools"></i> Admin
</a>
<ul class="dropdown-menu" aria-labelledby="mmdvm_admin">
<li><a class="dropdown-item" href="{{url}}/manage_servers">Manage Servers</a></li>
<li><a class="dropdown-item" href="{{url}}/manage_peers">Manage Peers</a></li>
<li><a class="dropdown-item" href="{{url}}/manage_masters">Manage Masters</a></li>
<li><a class="dropdown-item" href="{{url}}/manage_rules">Manage Rules</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="{{url}}/add_user">Add User</a></li>
<li><a class="dropdown-item" href="{{url}}/list_users">Manage Users</a></li>
<li><a class="dropdown-item" href="{{url}}/approve_users">Waiting Approval</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="{{url}}/manage_news">Manage News</a></li>
<li><a class="dropdown-item" href="{{url}}/misc_settings">Misc Options</a></li>
<li><a class="dropdown-item" href="{{url}}/auth_log">Authorization Log</a></li>
</ul>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link" href="{{url}}/generate_passphrase"><i class="bi bi-info-square"></i> Passphrase(s) </a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('user.edit_user_profile') }}"><i class="bi bi-file-person"></i> Change {{ current_user.username or current_user.email }} </a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('user.logout') }}"><i class="bi bi-door-closed"></i> Sign Out </a>
</li>
{% endif %}
</ul>
</div>
</nav>
{% block body %}
<hr class="no-margins"/>
<div id="main-div" class="with-margins">
{# One-time system messages called Flash messages #}
{% block flash_messages %}
{%- with messages = get_flashed_messages(with_categories=true) -%}
{% if messages %}
{% for category, message in messages %}
{% if category=='error' %}
{% set category='danger' %}
{% endif %}
<div class="alert alert-{{category}}">{{ message|safe }}</div>
{% endfor %}
{% endif %}
{%- endwith %}
{% endblock %}
{% block main %}
{% block content %}
{{markup_content}}
{% endblock %}
{% endblock %}
</div>
<br/>
<hr class="no-margins"/>
<div id="footer-div" class="clearfix with-margins">
<p style="text-align: center;"><strong>{{ user_manager.USER_APP_NAME }}<br /></strong><a href="https://hbnet.xyz">HBNet Project</a><br /></p>
</div>
{% endblock %}
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<!-- Bootstrap -->
<script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
<script src="https://unpkg.com/bootstrap-table@1.18.3/dist/bootstrap-table.min.js"></script>
{# *** Allow sub-templates to insert extra html to the bottom of the body *** #}
{% block extra_js %}{% endblock %}
</body>
</html>