summaryrefslogtreecommitdiff
path: root/templates/layouts/default.html.ep
diff options
context:
space:
mode:
Diffstat (limited to 'templates/layouts/default.html.ep')
-rw-r--r--templates/layouts/default.html.ep74
1 files changed, 48 insertions, 26 deletions
diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep
index d029251..fbb26ef 100644
--- a/templates/layouts/default.html.ep
+++ b/templates/layouts/default.html.ep
@@ -13,14 +13,14 @@
% while (my ($key, $value) = each %{stash('opengraph') // {}}) {
<meta property="og:<%= $key %>" content="<%= $value %>">
% }
- % my $av = 'v38'; # asset version
+ % my $av = 'v72'; # asset version
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-96x96.png" sizes="96x96">
- <link rel="apple-touch-icon" href="/static/<%= $av %>/icons/icon-120x120.png">
- <link rel="apple-touch-icon" sizes="180x180" href="/static/<%= $av %>/icons/icon-180x180.png">
- <link rel="apple-touch-icon" sizes="152x152" href="/static/<%= $av %>/icons/icon-152x152.png">
- <link rel="apple-touch-icon" sizes="167x167" href="/static/<%= $av %>/icons/icon-167x167.png">
+ <link rel="apple-touch-icon" href="/static/<%= $av %>/icons/touch-icon-120x120.png">
+ <link rel="apple-touch-icon" sizes="180x180" href="/static/<%= $av %>/icons/touch-icon-180x180.png">
+ <link rel="apple-touch-icon" sizes="152x152" href="/static/<%= $av %>/icons/touch-icon-152x152.png">
+ <link rel="apple-touch-icon" sizes="167x167" href="/static/<%= $av %>/icons/touch-icon-167x167.png">
<link rel="manifest" href="/static/<%= $av %>/manifest.json">
% if (session('theme') and session('theme') eq 'dark') {
%= stylesheet "/static/${av}/css/dark.min.css", id => 'theme'
@@ -46,31 +46,29 @@
currentTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
addStyleSheet(currentTheme, 'theme');
-
- function toggleTheme() {
- currentTheme = otherTheme[currentTheme] || 'light';
- localStorage.setItem('theme', currentTheme);
- addStyleSheet(currentTheme, 'theme');
- }
</script>
%= stylesheet "/static/${av}/css/material-icons.css"
- %= stylesheet "/static/${av}/css/local.css"
% if (stash('with_map')) {
%= stylesheet "/static/${av}/leaflet/leaflet.css"
% }
%= javascript "/static/${av}/js/jquery-3.4.1.min.js"
%= javascript "/static/${av}/js/materialize.min.js"
- %= javascript "/static/${av}/js/travelynx-actions.min.js"
+ % my $min = ".min";
+ % if (app->mode eq 'development') {
+ % $min = q{};
+ % }
+ %= javascript "/static/${av}/js/travelynx-actions${min}.js"
% if (stash('with_geolocation')) {
- %= javascript "/static/${av}/js/geolocation.min.js"
+ %= javascript "/static/${av}/js/geolocation${min}.js"
% }
% if (stash('with_autocomplete')) {
- %= javascript "/static/${av}/js/autocomplete.min.js"
+ %= javascript "/dyn/${av}/autocomplete.js", defer => undef
% }
% if (stash('with_map')) {
%= javascript "/static/${av}/leaflet/leaflet.js"
% }
</head>
+% my $acc = is_user_authenticated() && current_user();
<body>
<div class="navbar-fixed">
@@ -91,12 +89,9 @@
</div>
</div>
</li>
- <li class="waves-effect waves-light">
- <a onClick="javascript:toggleTheme()" title="Farbschema invertieren"><i class="material-icons" aria-label="Farbschema invertieren">invert_colors</i></a>
- </li>
- % if (is_user_authenticated()) {
+ % if ($acc) {
<li class="<%= navbar_class('/history') %>"><a href='/history' title="Vergangene Zugfahrten"><i class="material-icons" aria-label="Vergangene Zugfahrten">history</i></a></li>
- <li class="<%= navbar_class('/account') %>"><a href="/account" title="Account"><i class="material-icons" aria-label="Account">account_circle</i></a></li>
+ <li class="<%= navbar_class('/account') %>"><a href="/account" title="Account"><i class="material-icons" aria-label="Account"><%= $acc->{notifications} ? 'notifications' : 'account_circle' %></i></a></li>
% }
% else {
<li class="<%= navbar_class('/about') %>"><a href='/about' title="Über Travelynx"><i class="material-icons" aria-label="Über Travelynx">info_outline</i></a></li>
@@ -117,16 +112,43 @@
</div>
% }
+% if (app->config->{announcement}) {
+<div class="container">
+ <div class="row">
+ <div class="col s12 caution-color white-text">
+ %= app->config->{announcement}
+ </div>
+ </div>
+</div>
+% }
+
<div class="container">
- % if (is_user_authenticated()) {
- % my $acc = current_user();
- % if ($acc and $acc->{deletion_requested}) {
- %= include '_deletion_note', timestamp => $acc->{deletion_requested}
- % }
+ % if ($acc and $acc->{deletion_requested}) {
+ %= include '_deletion_note', timestamp => $acc->{deletion_requested}
% }
%= content
+ <div class="row" style="margin-top: 5em;">
+ <div class="col s12 center-align grey-text">
+ <a href="/about">travelynx</a> v<%= $version // '???' %>
+ <span style="margin-left: 0.5em; margin-right: 0.5em;">–</span>
+ <a href="/impressum">Impressum</a>
+ <span style="margin-left: 0.5em; margin-right: 0.5em;">–</span>
+ <a href="/impressum">Datenschutz</a>
+ <span style="margin-left: 0.5em; margin-right: 0.5em;">–</span>
+ <a href="/legend">Legende</a>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col s12 center-align grey-text config">
+ Farbschema:
+ <a onClick="javascript:setTheme('light')">hell</a>
+ ·
+ <a onClick="javascript:setTheme('dark')">dunkel</a>
+ ·
+ <a onClick="javascript:setTheme('default')">automatisch</a>
+ </div>
+ </div>
</div>
-
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {