diff options
| author | Birte Kristina Friesel <derf@finalrewind.org> | 2024-04-03 14:44:59 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <derf@finalrewind.org> | 2024-04-03 14:44:59 +0200 | 
| commit | 7152cb55a726f86fd7451286c8302ec4cb137da8 (patch) | |
| tree | d04407abfa47b73cd1785508b83d60dda27d4d3d | |
| parent | 1893167d1a4403dda6ed07870fa6c83263099946 (diff) | |
show local time if it differs from backend time
| -rw-r--r-- | lib/DBInfoscreen/Helper/HAFAS.pm | 27 | ||||
| -rw-r--r-- | templates/_train_details.html.ep | 6 | 
2 files changed, 33 insertions, 0 deletions
| diff --git a/lib/DBInfoscreen/Helper/HAFAS.pm b/lib/DBInfoscreen/Helper/HAFAS.pm index 149bfc9..59d8c7b 100644 --- a/lib/DBInfoscreen/Helper/HAFAS.pm +++ b/lib/DBInfoscreen/Helper/HAFAS.pm @@ -119,6 +119,7 @@ sub get_route_p {  						dep_delay      => $stop->dep_delay,  						arr_cancelled  => $stop->arr_cancelled,  						dep_cancelled  => $stop->dep_cancelled, +						tz_offset      => $stop->tz_offset,  						platform       => $stop->platform,  						sched_platform => $stop->sched_platform,  						load           => $stop->load, @@ -142,6 +143,32 @@ sub get_route_p {  					$station_is_past = 0;  				}  				$ret[-1]{isPast} = $station_is_past; +				if ( $stop->tz_offset ) { +					if ( $stop->sched_arr ) { +						$ret[-1]{local_sched_arr} +						  = $stop->sched_arr->clone->add( +							minutes => $stop->tz_offset ); +					} +					if ( $stop->sched_dep ) { +						$ret[-1]{local_sched_dep} +						  = $stop->sched_dep->clone->add( +							minutes => $stop->tz_offset ); +					} +					if ( $stop->rt_arr ) { +						$ret[-1]{local_rt_arr} = $stop->rt_arr->clone->add( +							minutes => $stop->tz_offset ); +					} +					if ( $stop->rt_dep ) { +						$ret[-1]{local_rt_dep} = $stop->rt_dep->clone->add( +							minutes => $stop->tz_offset ); +					} +					$ret[-1]{local_dt_ad} = $ret[-1]{local_rt_arr} +					  // $ret[-1]{local_sched_arr} // $ret[-1]{local_rt_dep} +					  // $ret[-1]{local_sched_dep}; +					$ret[-1]{local_dt_da} = $ret[-1]{local_rt_dep} +					  // $ret[-1]{local_sched_dep} // $ret[-1]{local_rt_arr} +					  // $ret[-1]{local_sched_arr}; +				}  			}  			$promise->resolve( \@ret, $journey, $hafas ); diff --git a/templates/_train_details.html.ep b/templates/_train_details.html.ep index 9d7241f..1437449 100644 --- a/templates/_train_details.html.ep +++ b/templates/_train_details.html.ep @@ -260,6 +260,9 @@                <i class="material-icons" aria-label="Echtzeitdaten fehlen">gps_off</i>  %           }  %         } +%         if ($stop->{tz_offset} and $stop->{local_dt_da}) { +            (lokal <%= $stop->{local_dt_da}->strftime('%H:%M') %>) +%         }            <%= $stop->{name} %></a>  %         if ($stop->{load}{FIRST} or $stop->{load}{SECOND}) {  %           my ($text, $icon1, $icon2) = utilization_icon([$stop->{load}{FIRST}, $stop->{load}{SECOND}]); @@ -312,6 +315,9 @@                <i class="material-icons" aria-label="Echtzeitdaten fehlen">gps_off</i>  %           }  %         } +%         if ($stop->{tz_offset} and $stop->{local_dt_ad}) { +            (lokal <%= $stop->{local_dt_ad}->strftime('%H:%M') %>) +%         }            <%= $stop->{name} %></a>  %         if ($stop->{load}{FIRST} or $stop->{load}{SECOND}) {  %           my ($text, $icon1, $icon2) = utilization_icon([$stop->{load}{FIRST}, $stop->{load}{SECOND}]); | 
