From b48996cff3bc4e72bf017b2b3fdcffcfd3780a5f Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 10 Jun 2019 16:26:32 +0200 Subject: add head nav and prominent geolocation link to app template --- templates/layouts/app.html.ep | 258 ++++++++++++++++++++++++++++++++++++++ templates/layouts/default.html.ep | 258 -------------------------------------- templates/layouts/legacy.html.ep | 258 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 516 insertions(+), 258 deletions(-) create mode 100644 templates/layouts/app.html.ep delete mode 100644 templates/layouts/default.html.ep create mode 100644 templates/layouts/legacy.html.ep (limited to 'templates') diff --git a/templates/layouts/app.html.ep b/templates/layouts/app.html.ep new file mode 100644 index 0000000..6189c9c --- /dev/null +++ b/templates/layouts/app.html.ep @@ -0,0 +1,258 @@ + + + + <%= stash('title') // 'DBF' %> + + + + + + + + + + + + +% if ($self->stash('refresh_interval')) { + +% } + + % my $av = 'v15'; # asset version + %= stylesheet "/static/${av}/css/app.css" + %= stylesheet "/static/${av}/css/material-icons.css" + %= stylesheet "/static/${av}/css/jquery-ui.min.css" + %= javascript '/static/js/jquery-3.4.1.min.js', defer => undef + %= javascript "/static/${av}/js/jquery-ui.min.js", defer => undef + %= javascript "/static/${av}/js/dbf.min.js", defer => undef + % if (stash('with_geolocation')) { + %= javascript "/static/${av}/js/geolocation.min.js", defer => undef + % } + + + + + +
+% if (my $error = stash 'error') { +
Backend-Fehler: +
+%= $error
+
+
+% } +% elsif (stash('stationlist')) { +
Mehrdeutige Eingabe. +Bitte eine Station aus der Liste auswählen
+% } +
+ +
+%= content +
+ +% if (not stash('hide_opts')) { +
+
+ + +%= form_for _redirect => begin +
+
+
Bahnhof / Haltestelle
+
+% if (stash('stationlist')) { + %= select_field station => stash('stationlist') +% } +% elsif (stash('station')) { + %= text_field 'station', class => 'station', placeholder => 'Name oder DS100-Kürzel', id => 'stationinput' +% } +% else { + %= text_field 'station', class => 'station', placeholder => 'Name oder DS100-Kürzel', id => 'stationinput', autofocus => 'autofocus' +% } +
+
+
+ %= submit_button 'Abfahrtsmonitor' +
+ % if (not stash('show_intro')) { +
+ + % } +
+
Weitere Einstellungen
+
+
+
+ Frontend +
+
+ %= select_field mode => [ ['App' => 'app'], ['Infoscreen' => 'infoscreen'], ['Bahnhofstafel' => 'multi'], ['Gleisanzeiger' => 'single'] ] +
+
+
+
+ Backend +
+
+ %= select_field backend => [ ['IRIS' => 'iris'], ['HAFAS' => 'ris'] ] +
+
+
+
+ Nur Züge über +
+
+ %= text_field 'via', placeholder => 'Bahnhof 1, Bhf2, ... (oder regulärer Ausdruck)', class => 'station' +
+
+
+
+ Gleise +
+
+ %= text_field 'platforms', placeholder => '1, 2, 5, ...' +
+
+
+
+ %= check_box 'hidelowdelay' => 1, id => 'id_hidelowdelay' + +
+
+
+
+ %= check_box 'dark' => 1, id => 'id_dark' + +
+
+
+
+ %= check_box 'hide_opts' => 1, id => 'id_hide_opts' + +
+
+
+ Nur für IRIS-Backend: +
+
+ Ankunfts- oder Abfahrtszeit anzeigen? +
+
+ %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] +
+
+
+
+ %= check_box 'detailed' => 1, id => 'id_detailed' + +
+
+
+
+ %= check_box 'show_realtime' => 1, id => 'id_show_realtime' + +
+
+
+
+ %= check_box 'no_related' => 1, id => 'id_no_related' + +
+
+
+
+ %= check_box 'save_defaults' => 1, id => 'id_save_defaults' + +
+
+
+ %= submit_button 'Anzeigen' +
+
+
+% end + +
+ +
+
API- und Entwickler-Hinweise
+
+
    +
  • Diese Seite kann gerne als iframe in eigene Infoscreens o.ä. eingebunden werden. + Für eine kleine Ansicht (z.B. iframe in einer normalen Website) bitte das + "App"-Frontend verwenden. Für eine große Ansicht + (z.B. als alleinstehender Infoscreen) gibt es das "Infoscreen"-Frontend.
  • +
  • Die Parameter mode=json&version=3 + (alternativ auch https://dbf.finalrewind.org/Bahnhofsname.json?version=3) + bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich + die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte + selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element, + stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben. + Bitte nur eine Anfrage pro Station und Minute + – eine höhere Auflösung haben die Backenddaten ohnehin nicht.
  • +
  • Mit limit kann die Anzahl der + angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B. + limit=10 für die ersten zehn.
  • +
  • Dieser Dienst ist Open Source-Software (Links siehe unten) und kann auch + auf eigenen Servern installiert werden. Automatisierte Crawler, die mehrere + Dutzend Stationen pro Minute abfragen, bitte nur auf eigenen Instanzen + betreiben.
  • +
+
+
+ +
+Siehe auch: + +
+ +
+ +
+
+db-infoscreen +v<%= stash('version') // '???' %> +
+Datenschutzerklärung +· +Impressum
+
+
+% } + + + diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep deleted file mode 100644 index 46ce984..0000000 --- a/templates/layouts/default.html.ep +++ /dev/null @@ -1,258 +0,0 @@ - - - - <%= stash('title') // 'DBF' %> - - - - - - - - - - - -% if ($self->stash('refresh_interval')) { - -% } - - % my $av = 'v15'; # asset version - %= stylesheet "/static/${av}/css/default.css" - %= stylesheet "/static/${av}/css/material-icons.css" - %= stylesheet "/static/${av}/css/jquery-ui.min.css" -% my $force_mobile = param('force_mobile') // stash('force_mobile'); -% if ($force_mobile) { - %= stylesheet "/static/${av}/css/mobile.css" -% } - %if (stash('load_marquee')) { - %= javascript '/static/js/jquery-3.4.1.min.js' - %= javascript "/static/${av}/js/jquery-ui.min.js" - %= javascript "/static/${av}/js/dbf.min.js" - %= javascript "/static/${av}/js/marquee.min.js" - %= javascript begin - $(function () { $('marquee').marquee() }); - % end - % } else { - %= javascript '/static/js/jquery-3.4.1.min.js', defer => undef - %= javascript "/static/${av}/js/jquery-ui.min.js", defer => undef - %= javascript "/static/${av}/js/dbf.min.js", defer => undef - % } - % if (stash('with_geolocation')) { - %= javascript "/static/${av}/js/geolocation.min.js", defer => undef - % } - - - -
-% if (my $error = stash 'error') { -
Backend-Fehler: -
-%= $error
-
-
-% } -% elsif (stash('stationlist')) { -
Mehrdeutige Eingabe. -Bitte eine Station aus der Liste auswählen
-% } -
- -
-%= content -
- -% if (not stash('hide_opts')) { -
-
- - -%= form_for _redirect => begin -
-
-
Bahnhof / Haltestelle
-
-% if (stash('stationlist')) { - %= select_field station => stash('stationlist') -% } -% elsif (stash('station')) { - %= text_field 'station', class => 'station', placeholder => 'Name oder DS100-Kürzel' -% } -% else { - %= text_field 'station', class => 'station', placeholder => 'Name oder DS100-Kürzel', autofocus => 'autofocus' -% } -
-
-
- %= submit_button 'Abfahrtsmonitor' -
- % if (not stash('show_intro')) { -
- - % } -
-
Weitere Einstellungen
-
-
-
- Frontend -
-
- %= select_field mode => [ ['App' => 'app'], ['Infoscreen' => 'infoscreen'], ['Bahnhofstafel' => 'multi'], ['Gleisanzeiger' => 'single'] ] -
-
-
-
- Backend -
-
- %= select_field backend => [ ['IRIS' => 'iris'], ['HAFAS' => 'ris'] ] -
-
-
-
- Nur Züge über -
-
- %= text_field 'via', placeholder => 'Bahnhof 1, Bhf2, ... (oder regulärer Ausdruck)', class => 'station' -
-
-
-
- Gleise -
-
- %= text_field 'platforms', placeholder => '1, 2, 5, ...' -
-
-
-
- %= check_box 'hidelowdelay' => 1, id => 'id_hidelowdelay' - -
-
-
-
- %= check_box 'dark' => 1, id => 'id_dark' - -
-
-
-
- %= check_box 'hide_opts' => 1, id => 'id_hide_opts' - -
-
-
- Nur für IRIS-Backend: -
-
- Ankunfts- oder Abfahrtszeit anzeigen? -
-
- %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] -
-
-
-
- %= check_box 'detailed' => 1, id => 'id_detailed' - -
-
-
-
- %= check_box 'show_realtime' => 1, id => 'id_show_realtime' - -
-
-
-
- %= check_box 'no_related' => 1, id => 'id_no_related' - -
-
-
-
- %= check_box 'save_defaults' => 1, id => 'id_save_defaults' - -
-
-
- %= submit_button 'Anzeigen' -
-
-
-% end - -
- -
-
API- und Entwickler-Hinweise
-
-
    -
  • Diese Seite kann gerne als iframe in eigene Infoscreens o.ä. eingebunden werden. - Für eine kleine Ansicht (z.B. iframe in einer normalen Website) bitte das - "App"-Frontend verwenden. Für eine große Ansicht - (z.B. als alleinstehender Infoscreen) gibt es das "Infoscreen"-Frontend.
  • -
  • Die Parameter mode=json&version=3 - (alternativ auch https://dbf.finalrewind.org/Bahnhofsname.json?version=3) - bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich - die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte - selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element, - stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben. - Bitte nur eine Anfrage pro Station und Minute - – eine höhere Auflösung haben die Backenddaten ohnehin nicht.
  • -
  • Mit limit kann die Anzahl der - angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B. - limit=10 für die ersten zehn.
  • -
  • Dieser Dienst ist Open Source-Software (Links siehe unten) und kann auch - auf eigenen Servern installiert werden. Automatisierte Crawler, die mehrere - Dutzend Stationen pro Minute abfragen, bitte nur auf eigenen Instanzen - betreiben.
  • -
-
-
- -
-Siehe auch: - -
- -
- -
-
-db-infoscreen -v<%= stash('version') // '???' %> -
-Datenschutzerklärung -· -Impressum
-
-
-% } - - - diff --git a/templates/layouts/legacy.html.ep b/templates/layouts/legacy.html.ep new file mode 100644 index 0000000..46ce984 --- /dev/null +++ b/templates/layouts/legacy.html.ep @@ -0,0 +1,258 @@ + + + + <%= stash('title') // 'DBF' %> + + + + + + + + + + + +% if ($self->stash('refresh_interval')) { + +% } + + % my $av = 'v15'; # asset version + %= stylesheet "/static/${av}/css/default.css" + %= stylesheet "/static/${av}/css/material-icons.css" + %= stylesheet "/static/${av}/css/jquery-ui.min.css" +% my $force_mobile = param('force_mobile') // stash('force_mobile'); +% if ($force_mobile) { + %= stylesheet "/static/${av}/css/mobile.css" +% } + %if (stash('load_marquee')) { + %= javascript '/static/js/jquery-3.4.1.min.js' + %= javascript "/static/${av}/js/jquery-ui.min.js" + %= javascript "/static/${av}/js/dbf.min.js" + %= javascript "/static/${av}/js/marquee.min.js" + %= javascript begin + $(function () { $('marquee').marquee() }); + % end + % } else { + %= javascript '/static/js/jquery-3.4.1.min.js', defer => undef + %= javascript "/static/${av}/js/jquery-ui.min.js", defer => undef + %= javascript "/static/${av}/js/dbf.min.js", defer => undef + % } + % if (stash('with_geolocation')) { + %= javascript "/static/${av}/js/geolocation.min.js", defer => undef + % } + + + +
+% if (my $error = stash 'error') { +
Backend-Fehler: +
+%= $error
+
+
+% } +% elsif (stash('stationlist')) { +
Mehrdeutige Eingabe. +Bitte eine Station aus der Liste auswählen
+% } +
+ +
+%= content +
+ +% if (not stash('hide_opts')) { +
+
+ + +%= form_for _redirect => begin +
+
+
Bahnhof / Haltestelle
+
+% if (stash('stationlist')) { + %= select_field station => stash('stationlist') +% } +% elsif (stash('station')) { + %= text_field 'station', class => 'station', placeholder => 'Name oder DS100-Kürzel' +% } +% else { + %= text_field 'station', class => 'station', placeholder => 'Name oder DS100-Kürzel', autofocus => 'autofocus' +% } +
+
+
+ %= submit_button 'Abfahrtsmonitor' +
+ % if (not stash('show_intro')) { +
+ + % } +
+
Weitere Einstellungen
+
+
+
+ Frontend +
+
+ %= select_field mode => [ ['App' => 'app'], ['Infoscreen' => 'infoscreen'], ['Bahnhofstafel' => 'multi'], ['Gleisanzeiger' => 'single'] ] +
+
+
+
+ Backend +
+
+ %= select_field backend => [ ['IRIS' => 'iris'], ['HAFAS' => 'ris'] ] +
+
+
+
+ Nur Züge über +
+
+ %= text_field 'via', placeholder => 'Bahnhof 1, Bhf2, ... (oder regulärer Ausdruck)', class => 'station' +
+
+
+
+ Gleise +
+
+ %= text_field 'platforms', placeholder => '1, 2, 5, ...' +
+
+
+
+ %= check_box 'hidelowdelay' => 1, id => 'id_hidelowdelay' + +
+
+
+
+ %= check_box 'dark' => 1, id => 'id_dark' + +
+
+
+
+ %= check_box 'hide_opts' => 1, id => 'id_hide_opts' + +
+
+
+ Nur für IRIS-Backend: +
+
+ Ankunfts- oder Abfahrtszeit anzeigen? +
+
+ %= select_field admode => [['Abfahrt bevorzugen' => 'deparr'], ['Nur Abfahrt' => 'dep'], ['Nur Ankunft' => 'arr']] +
+
+
+
+ %= check_box 'detailed' => 1, id => 'id_detailed' + +
+
+
+
+ %= check_box 'show_realtime' => 1, id => 'id_show_realtime' + +
+
+
+
+ %= check_box 'no_related' => 1, id => 'id_no_related' + +
+
+
+
+ %= check_box 'save_defaults' => 1, id => 'id_save_defaults' + +
+
+
+ %= submit_button 'Anzeigen' +
+
+
+% end + +
+ +
+
API- und Entwickler-Hinweise
+
+
    +
  • Diese Seite kann gerne als iframe in eigene Infoscreens o.ä. eingebunden werden. + Für eine kleine Ansicht (z.B. iframe in einer normalen Website) bitte das + "App"-Frontend verwenden. Für eine große Ansicht + (z.B. als alleinstehender Infoscreen) gibt es das "Infoscreen"-Frontend.
  • +
  • Die Parameter mode=json&version=3 + (alternativ auch https://dbf.finalrewind.org/Bahnhofsname.json?version=3) + bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich + die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte + selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element, + stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben. + Bitte nur eine Anfrage pro Station und Minute + – eine höhere Auflösung haben die Backenddaten ohnehin nicht.
  • +
  • Mit limit kann die Anzahl der + angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B. + limit=10 für die ersten zehn.
  • +
  • Dieser Dienst ist Open Source-Software (Links siehe unten) und kann auch + auf eigenen Servern installiert werden. Automatisierte Crawler, die mehrere + Dutzend Stationen pro Minute abfragen, bitte nur auf eigenen Instanzen + betreiben.
  • +
+
+
+ +
+Siehe auch: + +
+ +
+ +
+
+db-infoscreen +v<%= stash('version') // '???' %> +
+Datenschutzerklärung +· +Impressum
+
+
+% } + + + -- cgit v1.2.3