app/templates/base.html
2020-01-10 18:27:50 +01:00

160 lines
No EOL
5.2 KiB
HTML

{% from "_formhelpers.html" import render_field, render_field_errors %}
<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Content-Language" content="en"/>
<meta name="msapplication-TileColor" content="#2d89ef">
<meta name="theme-color" content="#4188c9">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<link rel="icon" href="/static/favicon.ico" type="image/x-icon"/>
<link rel="shortcut icon" type="image/x-icon" href="/static/favicon.ico"/>
<title>
{% block title %}{% endblock %} | SimpleLogin
</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Dashboard Core -->
<link href="/static/assets/css/dashboard.css" rel="stylesheet"/>
<!-- Tabler JS -->
<script src="/static/assets/js/vendors/jquery-3.2.1.min.js"></script>
<script src="/static/assets/js/vendors/bootstrap.bundle.min.js"></script>
<script src="/static/assets/js/vendors/jquery.sparkline.min.js"></script>
<script src="/static/assets/js/vendors/selectize.min.js"></script>
<script src="/static/assets/js/vendors/jquery.tablesorter.min.js"></script>
<script src="/static/assets/js/vendors/jquery-jvectormap-2.0.3.min.js"></script>
<script src="/static/assets/js/vendors/jquery-jvectormap-de-merc.js"></script>
<script src="/static/assets/js/vendors/jquery-jvectormap-world-mill.js"></script>
<script src="/static/assets/js/vendors/circle-progress.min.js"></script>
<script src="/static/assets/js/core.js"></script>
<!-- ClipboardJS -->
<script src="/static/vendor/clipboard.min.js"></script>
<!-- Notie -->
<link rel="stylesheet" type="text/css" href="https://unpkg.com/notie/dist/notie.min.css">
<script src="/static/vendor/notie.min.js"></script>
<!-- IntroJS -->
<link rel="stylesheet" type="text/css" href="/static/vendor/introjs.min.css">
<script src="/static/vendor/intro.min.js"></script>
<!-- Sentry -->
<script
src="https://browser.sentry-cdn.com/5.11.0/bundle.min.js"
integrity="sha384-jbFinqIbKkHNg+QL+yxB4VrBC0EAPTuaLGeRT0T+NfEV89YC6u1bKxHLwoo+/xxY"
crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-social/4.12.0/bootstrap-social.min.css">
<!-- Toastr library -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
<link rel="stylesheet" type="text/css" href="/static/style.css?v={{ VERSION }}">
<script>
toastr.options.closeButton = true;
</script>
<!-- For additional head -->
{% block head %}
{% endblock %}
</head>
<body class="">
<div class="page">
<div class="container">
<!-- For flash messages -->
{% with messages = get_flashed_messages(with_categories=true) %}
<!-- Categories: success (green), info (blue), warning (yellow), danger (red) -->
{% if messages %}
{% for category, message in messages %}
<script>
toastr.{{category}}("{{ message }}");
</script>
{% endfor %}
{% endif %}
{% endwith %}
</div>
{% block content %}
{% endblock %}
</div>
<script>
{% if SENTRY_DSN %}
console.log("Init sentry");
try {
Sentry.init({dsn: '{{SENTRY_DSN}}'});
} catch (error) {
console.log("Sentry error, probably due to AdBlocker ...")
}
{% endif %}
// the modal does not get close when user clicks outside of modal
// necessary for obligatory modal such as the one displayed when user enable/display email forwarding
notie.setOptions({
overlayClickDismiss: false,
});
var clipboard = new ClipboardJS('.clipboard');
clipboard.on('success', function (e) {
toastr.success("Copied to clipboard");
e.clearSelection();
});
// Handle back or close button
$('.back-or-close').on("click", function () {
// the window is actually a popup, in this case just close it
if (history.length == 1) {
window.close();
} else {
history.back();
}
});
</script>
<!-- For additional script -->
{% block script %}
{% endblock %}
<script>
(function () {
// only enable on prod
if (!window.location.host.endsWith('simplelogin.io')) {
console.log("GoatCounter should only be enabled in prod");
return;
}
if (localStorage.getItem('goatcounter-ignore') === 't') {
console.log("GoatCounter is disabled");
return;
}
console.log("init GoatCounter");
var script = document.createElement('script');
window.counter = 'https://app.goatcounter.com/count'
script.async = 1;
script.src = '//gc.zgo.at/count.js';
var ins = document.getElementsByTagName('script')[0];
ins.parentNode.insertBefore(script, ins)
})();
</script>
</body>
</html>