2016-08-10 20:23:17 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
2018-01-30 22:41:32 +00:00
{% load i18n static settings compress plugins %}
2020-12-07 14:55:41 +00:00
<!--
WebODM - User-friendly, commercial grade software for processing aerial imagery.
Copyright (C) 2020 WebODM Authors
2017-11-06 18:45:14 +00:00
2020-12-07 14:55:41 +00:00
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see < https: / / www . gnu . org / licenses / > .
-->
2016-08-10 20:23:17 +00:00
< meta charset = "UTF-8" >
2016-08-13 17:57:24 +00:00
< meta http-equiv = "X-UA-Compatible" content = "IE=edge" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2017-11-06 18:45:14 +00:00
< meta name = "author" content = "WebODM Contributors" >
< link rel = "icon" type = "image/png" href = "{% settings_image_url 'app_logo_favicon' %}" sizes = "32x32" >
2016-08-10 20:23:17 +00:00
< link rel = "stylesheet" type = "text/css" href = "{% static 'app/css/bootstrap.min.css' %}" / >
2016-08-13 17:57:24 +00:00
< link href = "{% static 'app/css/font-awesome.min.css' %}" rel = "stylesheet" type = "text/css" >
< link href = "{% static 'app/css/metisMenu.min.css' %}" rel = "stylesheet" >
< link href = "{% static 'app/css/sb-admin-2.css' %}" rel = "stylesheet" >
2016-09-13 20:18:47 +00:00
{% block extra-headers %}{% endblock %}
2017-07-18 18:14:59 +00:00
2016-08-10 20:23:17 +00:00
< script src = "{% static 'app/js/vendor/modernizr-2.8.3.min.js' %}" > < / script >
2018-09-27 02:16:02 +00:00
< script src = "{% static 'app/js/vendor/es6-shim.min.js' %}" > < / script >
2016-09-22 22:18:35 +00:00
< script src = "{% static 'app/js/vendor/jquery-1.11.2.min.js' %}" > < / script >
2018-02-09 17:38:42 +00:00
< script src = "{% static 'app/js/vendor/system.js' %}" > < / script >
2020-12-14 18:55:57 +00:00
< script src = "{% url 'javascript-catalog' %}" > < / script >
2016-12-19 21:39:38 +00:00
2020-06-04 18:06:09 +00:00
{% block headers-before-bundle %}{% endblock %}
2016-11-17 23:51:07 +00:00
{% load render_bundle from webpack_loader %}
{% render_bundle 'main' %}
2016-12-30 22:58:52 +00:00
2018-01-30 22:41:32 +00:00
{% autoescape off %}
{% get_plugins_js_includes %}
2018-02-09 17:38:42 +00:00
{% get_plugins_css_includes %}
2018-01-30 22:41:32 +00:00
{% endautoescape %}
2017-11-07 18:40:12 +00:00
< title > {{title|default:"Login"}} - {{ SETTINGS.app_name }}< / title >
2017-11-06 18:45:14 +00:00
2017-11-07 21:48:27 +00:00
{% compress css %}
2017-11-08 20:13:35 +00:00
< link rel = "stylesheet" type = "text/x-scss" href = "{% static 'app/css/theme.scss' %}" / >
2017-11-07 21:48:27 +00:00
{% endcompress %}
2021-05-26 16:18:33 +00:00
{% is_desktop_mode as desktop_mode %}
{% if desktop_mode %}
<!-- Hide top nav bar -->
< style type = "text/css" >
.navbar-header { display: none; }
#navbar-top .navbar-default.sidebar{ top: 0; position: fixed; }
#navbar-top { height: 0; min-height: 0; }
.map-view { height: calc(100% + 30px) !important; }
.model-view { height: calc(100% + 50px) !important; }
< / style >
{% endif %}
2017-11-07 18:40:12 +00:00
< style type = "text/css" >
{{ SETTINGS.theme.css|safe }}
< / style >
2016-08-10 20:23:17 +00:00
< / head >
2016-09-13 20:18:47 +00:00
< body data-admin-utc-offset = "{% now " Z " % } " >
2017-12-03 22:56:30 +00:00
{% block body %}
2016-08-10 20:23:17 +00:00
<!-- [if lt IE 8]>
< p class = "browserupgrade" > You are using an < strong > outdated< / strong > browser. Please < a href = "http://browsehappy.com/" > upgrade your browser< / a > to improve your experience.< / p >
<![endif]-->
2016-08-13 17:57:24 +00:00
< div id = "wrapper" >
2017-11-07 18:40:12 +00:00
{{ SETTINGS.theme.html_before_header|safe }}
2016-08-13 17:57:24 +00:00
< nav id = "navbar-top" class = "navbar navbar-default navbar-static-top" role = "navigation" style = "margin-bottom: 0" >
< div class = "navbar-header" >
< button type = "button" class = "navbar-toggle" data-toggle = "collapse" data-target = ".navbar-collapse" >
< span class = "sr-only" > Toggle navigation< / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< span class = "icon-bar" > < / span >
< / button >
2016-11-09 13:52:50 +00:00
{% block navbar-top-links %}{% endblock %}
2017-11-07 18:40:12 +00:00
< a class = "navbar-brand" href = "/" > < img src = "{% settings_image_url 'app_logo_36' %}" alt = "{{ SETTINGS.app_name }}" / > < / a >
2018-03-02 16:30:16 +00:00
< a class = "navbar-link" href = "/" > < p class = "navbar-text" > {{ SETTINGS.app_name }}< / p > < / a >
2016-08-13 17:57:24 +00:00
< / div >
2016-08-10 20:23:17 +00:00
2016-08-13 17:57:24 +00:00
{% block navbar-sidebar %}{% endblock %}
< / nav >
2017-11-07 18:40:12 +00:00
{% block page-wrapper %}{{ SETTINGS.theme.html_after_header|safe }}{% endblock %}
2016-08-13 17:57:24 +00:00
< / div >
2017-11-07 16:54:01 +00:00
{% autoescape off %}
{% get_footer %}
{% endautoescape %}
2017-12-03 22:56:30 +00:00
{% endblock %}
2016-08-10 20:23:17 +00:00
< / body >
2016-08-13 17:57:24 +00:00
< script src = "{% static 'app/js/vendor/metisMenu.min.js' %}" > < / script >
2016-10-11 17:42:17 +00:00
< script >
$(function(){
$('#side-menu').metisMenu();
$(window).bind("load resize", function() {
2021-05-26 16:18:33 +00:00
{% if desktop_mode %}
var topOffset = 0;
{% else %}
2019-03-19 22:25:12 +00:00
var topOffset = 50;
2021-05-26 16:18:33 +00:00
{% endif %}
2019-03-19 22:25:12 +00:00
var width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
2016-10-11 17:42:17 +00:00
if (width < 768 ) {
$('div.navbar-collapse').addClass('collapse');
2021-05-26 16:18:33 +00:00
{% if not desktop_mode %}
2016-10-11 17:42:17 +00:00
topOffset = 100; // 2-row-menu
2021-05-26 16:18:33 +00:00
{% endif %}
2016-10-11 17:42:17 +00:00
} else {
$('div.navbar-collapse').removeClass('collapse');
}
2019-03-19 22:25:12 +00:00
var height = ((this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height) - 1;
2016-10-11 17:42:17 +00:00
height = height - topOffset;
if (height < 1 ) height = 1;
if (height > topOffset) {
$("#page-wrapper").css("min-height", (height) + "px");
}
});
2019-03-19 22:25:12 +00:00
var url = window.location;
var element = $('ul.nav a').filter(function() {
2016-10-11 17:42:17 +00:00
return this.href == url;
}).addClass('active').parent();
while(true){
if (element.is('li')){
2019-03-19 22:25:12 +00:00
element = element.parent().addClass('in');
2016-10-11 17:42:17 +00:00
} else {
break;
}
}
2019-03-19 22:25:12 +00:00
if (element.parent().is('li')) element.parent().addClass('active');
2016-10-11 17:42:17 +00:00
});
< / script >
2016-11-17 23:51:07 +00:00
< script src = "{% static 'app/js/vendor/bootstrap.min.js' %}" > < / script >
2017-11-07 18:40:12 +00:00
{{ SETTINGS.theme.html_after_body|safe }}
2016-08-10 20:23:17 +00:00
< / html >