Commit ca502c12 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Split up App/Infoscreen into separate templates

They're identical for now.
parent 098a8d29
Loading
Loading
Loading
Loading
+28 −19
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ our $VERSION = qx{git describe --dirty} || '0.05';

my %default = (
	backend => 'iris',
	mode    => 'clean',
	mode    => 'app',
	admode  => 'deparr',
);

@@ -315,7 +315,7 @@ sub handle_request {

	my @platforms = split( /,/, $self->param('platforms') // q{} );
	my @lines     = split( /,/, $self->param('lines') // q{} );
	my $template       = $self->param('mode')          // 'clean';
	my $template  = $self->param('mode') // 'app';
	my $hide_low_delay = $self->param('hidelowdelay') // 0;
	my $hide_opts      = $self->param('hide_opts') // 0;
	my $show_realtime  = $self->param('show_realtime') // 0;
@@ -357,8 +357,11 @@ sub handle_request {
		$self->stash( layout => 'text' );
	}

	if ( not( $template ~~ [qw[clean json marudor multi single text]] ) ) {
		$template = 'clean';
	if (
		not( $template ~~ [qw[app infoscreen json marudor multi single text]] )
	  )
	{
		$template = 'app';
	}

	if ( not $station ) {
@@ -494,7 +497,7 @@ sub handle_request {
				$info = "Zug endet hier: ${delaymsg}";
			}
			elsif ( $result->delay and $result->delay > 0 ) {
				if ( $template eq 'clean' ) {
				if ( $template eq 'app' or $template eq 'infoscreen' ) {
					$info = $delaymsg;
				}
				else {
@@ -502,7 +505,10 @@ sub handle_request {
						$result->delay, $delaymsg ? q{: } : q{}, $delaymsg );
				}
			}
			if ( $result->replacement_for and $template ne 'clean' ) {
			if (    $result->replacement_for
				and $template ne 'app'
				and $template ne 'infoscreen' )
			{
				for my $rep ( $result->replacement_for ) {
					$info = sprintf(
						'Ersatzzug für %s %s %s%s',
@@ -921,7 +927,10 @@ sub handle_request {
			hide_opts        => $hide_opts,
			hide_low_delay   => $hide_low_delay,
			show_realtime    => $show_realtime,
			load_marquee     => ($template eq 'single' or $template eq 'multi'),
			load_marquee     => (
				     $template eq 'single'
				  or $template eq 'multi'
			),
		);
	}
	return;
+0 −0

File moved.

+280 −0
Original line number Diff line number Diff line
% if (@{$departures}) {

% if (param('dark')) {
<div class="displayclean displaycleandark">
% }
% else {
<div class="displayclean displaycleanlight">
% }
<ul>
% my $i = 0;
% my $dt_now = DateTime->now;
% for my $departure (@{$departures}) {
%   $i++;
%   my $route_str = q{};
%   my $via_max = @{$departure->{via} // []};
%   my $via_cur = 0;
%   for my $stop (@{$departure->{via} // []}) {
%     $via_cur++;
%     $route_str .= $stop . ($via_cur < $via_max ? ' - ' : q{});
%   }
%   my $extraclasses = q{};
%   if ($departure->{is_cancelled} or $departure->{departure_is_cancelled}) {
%     $extraclasses .= ' cancelled';
      <li class="cancelled">
%   }
%   else {
      <li>
%   }
%   my $linetype = 'bahn';
%   if ( $departure->{train_type} eq 'S' ) {
%     $linetype = 'sbahn';
%   }
%   elsif ( $departure->{train_type} eq 'IC'
%          or $departure->{train_type} eq 'ICE'
%          or $departure->{train_type} eq 'EC'
%          or $departure->{train_type} eq 'THA' ) {
%     $linetype = 'fern';
%   }
    <div class="line <%= $linetype %>">
    % if ($departure->{train_type} and $departure->{train_no}) {
%=    $departure->{train_type}
%   }
%   if ($departure->{train_line} ) {
%=    $departure->{train_line}
%   }
%   elsif ($departure->{train_no}) {
      <span class="trainno"><%= $departure->{train_no} %></span>
%   }
%   else {
%=    $departure->{train}
%   }
%   if ($departure->{train_line} and $departure->{train_no}
%       and $departure->{train_line} ne $departure->{train_no}
%       and param('detailed')) {
      <div class="trainno_sub"><%= $departure->{train_no} %></div>
%   }
    </div>
%   if (@{$departure->{replaced_by}} or @{$departure->{replacement_for}}) {
      <div class="lineinfo">
%     if (@{$departure->{replaced_by}}) {
        %#<span class="replaced">→ Ersatzzug</span>
%     }
%     if (@{$departure->{replacement_for}}) {
        <span class="replacement">Ersatzzug</span>
%     }
      </div>
%   }
    <div class="moreinfo collapsed-moreinfo">
    <div class="mheader">
    <div>
%   if ($departure->{train_no} or $departure->{train_line}) {
      <span class="train-line <%= $linetype %>"><%= $departure->{train_type} %>
      <%= $departure->{train_line} // $departure->{train_no} %></span>
%     if ($departure->{train_line}) {
        <span class="train-no"><%= $departure->{train_no} %></span>
%     }
%   }
%   else {
      <span class="train-line"><%= $departure->{train} // q{???} %></span>
%   }
    </div>
    <div>
%   if ($departure->{origin}) {
      <span class="train-origin"><%= $departure->{origin} %></span>

%   }
    <span class="train-dest"><%= $departure->{destination} // q{???} %></span>
    </div>
%   if ($departure->{is_cancelled}) {
      <div class="minfo">Fahrt fällt aus</div>
%   }
%   elsif (defined $departure->{delay} and $departure->{delay} > 0) {
      <div class="minfo">+<%= $departure->{delay} %>
%     if ($departure->{departure_is_cancelled}) {
        (endet hier)
%     }
      </div>
%   }
%   if (@{$departure->{replaced_by}}) {
%     for my $replacement (@{$departure->{replaced_by}}) {
        <span class="replaced">Ersatzzug: <%= $replacement %></span>
%     }
%   }
%   if (@{$departure->{replacement_for}}) {
%     for my $replacement (@{$departure->{replacement_for}}) {
        <span class="replacement">Ersatzzug für <%= $replacement %></span>
%     }
%   }
    </div> <!-- mheader -->
    <div class="mfooter">
    <div class="platforminfo">
%   if ($departure->{scheduled_platform} or $departure->{platform}) {
      Gleis <%= $departure->{scheduled_platform} // $departure->{platform} %>
%   }
%   if ($departure->{scheduled_platform} and $departure->{platform}
%       and $departure->{scheduled_platform} ne $departure->{platform}) {
      (heute Gleis <%= $departure->{platform} %>)
%   }
%   elsif ($departure->{changed_platform}) {
      (Gleiswechsel)
%   }
    </div> <!-- platforminfo -->
%   if (not $departure->{is_cancelled}) {
      <div class="timeinfo">
%     if ($departure->{sched_arrival}) {
        Ankunft: <%= $departure->{sched_arrival} %>
%       if ($departure->{arrival} and $departure->{arrival} ne $departure->{sched_arrival}) {
          (heute <%= $departure->{arrival} %>)
%       }
        <br/>
%     }
%     if ($departure->{sched_departure}) {
        Abfahrt: <%= $departure->{sched_departure} %>
%       if ($departure->{departure} and $departure->{departure} ne $departure->{sched_departure}) {
          (heute <%= $departure->{departure} %>)
%       }
        <br/>
%     }
%     if (not ($departure->{sched_arrival} or $departure->{sched_departure})) {
        Abfahrt: <%= $departure->{time} %>
%       if ($departure->{delay}) {
          (heute +<%= $departure->{delay} %>)
%       }
%     }
      </div> <!-- timeinfo -->
%   }
%   if ($departure->{route_post_diff} and @{$departure->{route_post_diff}}) {
      <div class="mroute">
      Über:
%       my $first = 0;
%       for my $stop (@{$departure->{route_post_diff} // q{???}}) {
%         if ($first++) {
            <span class="separator">–</span>
%         }
%         if ($stop->{isAdditional}) {
            <span class="additional-stop"><%= $stop->{name} %></span>
%         }
%         elsif ($stop->{isCancelled}) {
            <span class="cancelled-stop"><%= $stop->{name} %></span>
%         }
%         elsif ($self->is_important($stop->{name})) {
            <span class="important-stop"><%= $stop->{name} %></span>
%         }
%         else {
            <span class="generic-stop"><%= $stop->{name} %></span>
%         }
%       }
      </div> <!-- mroute -->
%   }
%   if ($departure->{moreinfo} and @{$departure->{moreinfo}}) {
      Meldungen:
      <ul>
%     for my $pair (@{$departure->{moreinfo}}) {
        <li>
%       if ($pair->[0]->isa('DateTime')) {
%         if ($pair->[0]->day != $dt_now->day) {
%           $pair->[0]->set_locale('de_DE');
%=          $pair->[0]->strftime('%a %H:%M')
%         }
%         else {
%=          $pair->[0]->strftime('%H:%M')
%         }
%       }
%       else {
%=        $pair->[0]
%       }
        :
        <span class="reason">
%=      $pair->[1]
        </span>
        </li>
%     }
%     if ($departure->{route_info}) {
        <li><%= $departure->{route_info} %></li>
%     }
      </ul>
%   }
    </div> <!-- mfooter -->
    </div> <!-- moreinfo -->
%   if ($departure->{info} and length $departure->{info}) {
      <span class="info">
%=    $departure->{info}
      </span>
%   }
%   else {
      <span class="route">
%=    $route_str
      </span>
%   }
    <span class="dest <%= $extraclasses %>">
%=  $departure->{destination}
    </span>
    <span class="countdown <%= $extraclasses %>">
%   if ($departure->{delay} and not $departure->{is_cancelled}) {
%     if ($show_realtime) {
%       if ($departure->{delay} > 0) {
          <span class="delaynorm">(+<%= $departure->{delay} %>)</span>
%       }
%       else {
          <span class="undelaynorm">(<%= $departure->{delay} %>)</span>
%       }
%     }
%     else {
%       if ($departure->{delay} > 0) {
          <span class="delay">(+<%= $departure->{delay} %>)</span>
%       }
%       else {
          <span class="undelay">(<%= $departure->{delay} %>)</span>
%       }
%     }
%   }
%   if (($departure->{scheduled_platform} and $departure->{platform} and
%       $departure->{scheduled_platform} ne $departure->{platform})
%       or $departure->{changed_platform}) {
      <span class="platform changed-platform">
%   }
%   else {
      <span class="platform">
%   }
%=  $departure->{platform}
    </span>
    </span>
    <span class="time <%= ($show_realtime and $departure->{delay} and not
      $departure->{is_cancelled}) ? 'delayed' : q{} %> <%= $extraclasses %>">
%   if (param('detailed')) {
%     my $arrow = '→';
%     if (not $departure->{sched_arrival}) {
%       $arrow = '↦';
%     }
%     elsif (not $departure->{sched_departure}) {
%       $arrow = '⇥';
%     }
%     if ($show_realtime) {
%=      ($departure->{arrival} // q{}) . $arrow . ($departure->{departure} // q{})
%     }
%     else {
%=      ($departure->{sched_arrival} // q{}) . $arrow . ($departure->{sched_departure} // q{})
%     }
%   }
%   else {
%=    $departure->{time}
%   }
    </span>
    </li>

% }

  </ul>
  </div> <!-- displayclean -->

% }
% else {

<div class="container">
<div class="error"><strong>Keine Abfahrten gefunden.</strong>
Möglicherweise ist der Filter zu restriktiv, oder an dieser Station fahren
momentan keine Züge.</div>
</div> <!-- container -->

% }
+2 −2
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ Bitte eine Station aus der Liste auswählen</div>
        Frontend
      </div>
      <div>
        %= select_field mode => [ ['App / Infoscreen' => 'clean'], ['Bahnhofstafel' => 'multi'], ['Gleis' => 'single'] ]
        %= select_field mode => [ ['App' => 'app'], ['Infoscreen' => 'infoscreen'], ['Bahnhofstafel' => 'multi'], ['Gleisanzeiger' => 'single'] ]
      </div>
    </div>
    <div class="field">
@@ -191,7 +191,7 @@ Bitte eine Station aus der Liste auswählen</div>
<li><a href="/Essen%20Hbf?mode=multi">Essen HBf</a> (IRIS, Bahnhofstafel)</li>
<li><a href="/Dortmund%20Hbf/Bochum%7CHamm?mode=multi">Dortmund HBf</a> (IRIS, Bahnhofstafel,
nur Züge via Bochum oder Hamm)</li>
<li><a href="/Dortmund%20Universität?mode=clean">Dortmund Universit&auml;t</a> (IRIS, Mobile/Infoscreen)</li>
<li><a href="/Dortmund%20Universität?mode=infoscreen">Dortmund Universit&auml;t</a> (IRIS, Infoscreen)</li>
<li><a href="/KD?mode=single">D&uuml;sseldorf HBf</a> (IRIS, Gleistafel)</li>
</ul>
</div>