diff options
| author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-06-15 08:23:48 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-06-15 08:23:51 +0200 | 
| commit | c250a2f2c7968966014315f76b25109b83c041ed (patch) | |
| tree | 3c6ee328e7e67beadeac44d9458a048fe3e0b473 /templates | |
| parent | f1da50f9f18f0a2a5fd202daff4b6f0b517f35e0 (diff) | |
Add experimental EFA support
Squashed commit of the following:
commit b7457791ab7ab4859ebf4a5ce173e1aaeed4c7fb
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sun Jun 15 08:18:46 2025 +0200
    changelog
commit 7f3d61066195cfc3c83a8fc1b2fc3743e7e6171c
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 19:55:51 2025 +0200
    Mark EFA backends as experimental for now
    For instance, VRR has very interesting issues when checking into departures
    that do not have real-time data yet.
commit 3370c0f6c25bd6b02cc4d56e9a3aba2a66d1151a
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 19:49:48 2025 +0200
    InTransit: remove debug output
commit deb5444fa2965228b537e86fce862436ef2e6e19
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 19:12:44 2025 +0200
    frontend js for checked-in view: never show fractional delays
commit d47ff9615b551bbd844a799be7717e9e74a04266
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 19:12:31 2025 +0200
    worker: add EFA support
commit 3a955c0105bf13d040a821e2c87a19694202cde6
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 17:48:46 2025 +0200
    EFA: checkin support
    worker support and cancellations are still missing
commit 19dea1ad13029d19cba38e7d1338718149c139fb
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 14:32:59 2025 +0200
    actions.js: pass on efa parameter
commit 8f18ff2c8f9f906a387dbe16d372e1c4b4a6f259
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 14:32:48 2025 +0200
    EFA: implement geolocation lookup
commit bce1139bab9aab167cdab910fa86085529d45b80
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Sat Jun 14 14:32:21 2025 +0200
    EFA: ->id is no longer supported, use ->id_num
commit e4397e6b1538ddfa71da9839d6011a73fadc528f
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Mon Jun 9 20:34:22 2025 +0200
    ... derp
commit e0c4cbf862a8f5a7bca0b1aceab3760af94093e9
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Mon Jun 9 18:28:35 2025 +0200
    database: it's dbris, not ris
commit bfb1e834ce6c3171011dc20b32117065960b8771
Merge: 42f9a00 f1da50f
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Mon Jun 9 18:20:51 2025 +0200
    Merge branch 'main' into efa-support
commit 42f9a00d98dbd675234c05b3e25c3e722cfdd7ba
Author: Birte Kristina Friesel <derf@finalrewind.org>
Date:   Wed Jan 8 18:11:28 2025 +0100
    EFA support (WiP)
Diffstat (limited to 'templates')
| -rw-r--r-- | templates/_departures_efa.html.ep | 54 | ||||
| -rw-r--r-- | templates/changelog.html.ep | 15 | ||||
| -rw-r--r-- | templates/departures.html.ep | 3 | ||||
| -rw-r--r-- | templates/select_backend.html.ep | 15 | 
4 files changed, 80 insertions, 7 deletions
diff --git a/templates/_departures_efa.html.ep b/templates/_departures_efa.html.ep new file mode 100644 index 0000000..6aec1c8 --- /dev/null +++ b/templates/_departures_efa.html.ep @@ -0,0 +1,54 @@ +<ul class="collection departures"> +% my $orientation_bar_shown = param('train'); +% my $now_epoch = now->epoch; +% for my $result (@{$results}) { +	% my $row_class = ''; +	% my $link_class = 'action-checkin'; +	% if ($result->is_cancelled) { +		% $row_class = "cancelled"; +		% $link_class = 'action-cancelled-from'; +	% } +	% if (not $orientation_bar_shown and $result->datetime->epoch < $now_epoch) { +		% $orientation_bar_shown = 1; +		<li class="collection-item" id="now"> +			<strong class="dep-time"> +				%= now->strftime('%H:%M') +			</strong> +			<strong>— Anfragezeitpunkt —</strong> +		</li> +	% } +	<li class="collection-item <%= $link_class %> <%= $row_class %>" +		data-efa="<%= $efa %>" +		data-station="<%= $result->stop_id_num %>" +		data-train="<%= $result->id %>" +		data-ts="<%= ($result->sched_datetime // $result->datetime)->epoch %>" +	> +		<a class="dep-time" href="#"> +			%= $result->datetime->strftime('%H:%M') +			% if ($result->delay) { +				(<%= sprintf('%+d', $result->delay) %>) +			% } +			% elsif (not defined $result->delay and not $result->is_cancelled) { +				<i class="material-icons" aria-label="Keine Echtzeitdaten vorhanden" style="font-size: 16px;">gps_off</i> +			% } +		</a> +		<span class="dep-line <%= $result->type // q{} %>"> +			%= $result->line +		</span> +		<span class="dep-dest"> +			% if ($result->is_cancelled) { +				Fahrt nach <%= $result->destination %> entfällt +			% } +			% else { +				%= $result->destination +				% for my $checkin (@{$checkin_by_train->{$result->id} // []}) { +					<span class="followee-checkin"> +						<i class="material-icons tiny" aria-label="Eine Person, der du folgst, ist hier eingecheckt">people</i> +						<%= $checkin->{followee_name} %> → <%= $checkin->{arr_name} // '???' %> +					</span> +				% } +			% } +		</span> +	</li> +% } +</ul> diff --git a/templates/changelog.html.ep b/templates/changelog.html.ep index ced431a..2fb89df 100644 --- a/templates/changelog.html.ep +++ b/templates/changelog.html.ep @@ -2,6 +2,21 @@  <div class="row">  	<div class="col s12 m1 l1"> +		2.14 +	</div> +	<div class="col s12 m11 l11"> +		<p> +			<i class="material-icons left" aria-label="Neues Feature">add</i> +			Experimentelle Unterstützung für Checkins via EFA-Backends. +			Teilweise ist ein Checkin nur bei Fahrten mit Echtzeitdaten +			möglich.  Hierbei handelt es sich nach aktuellem Stand um eine +			Einschränkung der verwendeten Backends. +		</p> +	</div> +</div> + +<div class="row"> +	<div class="col s12 m1 l1">  		2.13  	</div>  	<div class="col s12 m11 l11"> diff --git a/templates/departures.html.ep b/templates/departures.html.ep index 1745a47..917973b 100644 --- a/templates/departures.html.ep +++ b/templates/departures.html.ep @@ -160,6 +160,9 @@  			% if ($dbris) {  				%= include '_departures_dbris', results => $results, dbris => $dbris;  			% } +			% elsif ($efa) { +				%= include '_departures_efa', results => $results, efa => $efa; +			% }  			% elsif ($hafas) {  				%= include '_departures_hafas', results => $results, hafas => $hafas;  			% } diff --git a/templates/select_backend.html.ep b/templates/select_backend.html.ep index e54bcfd..e3db44d 100644 --- a/templates/select_backend.html.ep +++ b/templates/select_backend.html.ep @@ -66,19 +66,20 @@  %= end  <div class="row">  	<div class="col s12"> -		<h2 id="help">Hilfe</h2> +		<h2 id="help">Details</h2>  		<p>  			<strong>Deutsche Bahn: bahn.de</strong> ist eine gute Wahl für Fahrten des Nah-, Regional- und Fernverkehrs innerhalb Deutschlands. -			Die Implementierung ist noch recht frisch, bietet jedoch prinzipiell akkurate Echtzeit- und Kartendaten sowie Wagenreihungen. +			Dieses Backend bietet überwiegend korrekte Echtzeit- und Kartendaten sowie Wagenreihungen. +			Bei Nahverkehrsfahrten sind die Echtzeit- und Kartendaten meist nicht so gut wie bei den APIs des jeweiligen Verkehrsverbunds.  		<p> -			<strong>Deutsche Bahn: IRIS-TTS</strong> liefert Echtzeitdaten (nur am Start- und Zielbahnhof), Wagenreihungen und Verspätungsmeldungen für Regional- und Fernverkehr in Deutschland. Kartendaten sind nur teilweise verfügbar.  			<strong>ÖBB</strong> liefern Kartendaten und Wagenreihungen für Fernverkehr in Deutschland und Umgebung, jedoch keine Meldungen. Echtzeitdaten sind teilweise verfügbar.  		</p>  		<p> -			Die restlichen Backends lohnen sich für Fahrten in den zugehörigen Verkehrsverbünden bzw. Ländern. -			Im Gegensatz zu bahn.de liefern sie in vielen (aber nicht allen) Fällen auch detaillierte Kartendaten für die dem Verbund zugehörigen Verkehrsmittel. -			In Einzelfällen (z.B. BVG) sind sogar Auslastungsdaten eingepflegt. -			Bei Fahrten außerhalb von Deutschland und der Schweiz ist <strong>ÖBB</strong> zumeist die beste Wahl. +			<strong>Deutsche Bahn: IRIS-TTS</strong> liefert Echtzeitdaten (nur am Start- und Zielbahnhof), Wagenreihungen und Verspätungsmeldungen für Regional- und Fernverkehr in Deutschland. Kartendaten und Angaben zu Unterwegshalten sind nur teilweise verfügbar. Dieses Backend wird nicht mehr weiterentwickelt. Die zugehörige API wird voraussichtlich im Laufe des Jahres 2025 abgeschaltet. +		</p> +		<p> +			<strong>Transitous</strong> ist ein Aggregator für eine Vielzahl von Verkehrsunternehmen. +			Die Datenqualität variiert.  		</p>  	</div>  </div>  | 
