diff options
Diffstat (limited to 'templates/layouts/default.html.ep')
-rw-r--r-- | templates/layouts/default.html.ep | 74 |
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', () => { |