ZTravel/ZTravel.Web/Pages/CebotariLCD.cshtml

65 lines
2 KiB
Plaintext

@page
@using System.Globalization
@using ZTravel.API.HAFAS
@using ZTravel.API.VRRF
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Departures - ZTravel</title>
<meta http-equiv="refresh" content="30">
<link rel="stylesheet" href="~/css/space.css"/>
<style>
body {
zoom: 130% !important;
}
</style>
</head>
<body>
<!--
<div class="navbar-fixed">
<nav style="color: #ffffff; background-color: #00838f;">
<div class="nav-wrapper container">
<span class="brand-logo">Salzburg Justizgebäude (+5)</span>
</div>
</nav>
</div>
-->
<div class="app appdark">
<ul>
@foreach (var dep in Endpoints.SvvEndpoint.GetDepartures("Salzburg Maria-Cebotari-Straße", 20).OrderBy(p => p.RealDeparture).Where(p => p.Destination != "Parsch")) {
if (int.Parse(dep.Line) > 14) {
continue;
}
var countdownRaw = dep.RealDeparture - DateTime.Now;
var countdown = Math.Round(countdownRaw.TotalMinutes);
var time = dep.RealDeparture.ToString("HH:mm");
var displaytime = countdown <= 60 ? $"{countdown} min" : time;
var rawdelay = (int) (dep.RealDeparture - dep.PlannedDeparture).TotalMinutes;
var delay = "";
if (rawdelay < 0) {
delay = $"({rawdelay})";
}
if (rawdelay > 0) {
delay = $"(+{rawdelay})";
}
if (countdown <= 0) {
displaytime = "now";
}
if (countdown <= -1) {
continue;
}
<li>
<div class="line obus">@dep.Line</div>
<div class="dest">@dep.Destination</div>
<span class="countdown">
<span class="platform">@delay @displaytime</span>
</span>
</li>
}
</ul>
</div>
</body>
</html>