Compare commits
No commits in common. "c61a8e9ff0ccdcd5504b12d7d5f1e6d5f4f88a61" and "9045834916b25b865235892a3dd63f1658c24edb" have entirely different histories.
c61a8e9ff0
...
9045834916
|
@ -26,13 +26,6 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
|
||||||
font-family: 'ubuntu';
|
|
||||||
src: url('/font/ubuntumono/ubuntumono-regular.woff2') format('woff2'), url('/font/ubuntumono/ubuntumono-refular.woff') format('woff'), url('/font/ubuntumono/ubuntumono-regular.ttf') format('truetype');
|
|
||||||
font-weight: 400;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* COLOR VARS */
|
/* COLOR VARS */
|
||||||
:root {
|
:root {
|
||||||
--main-bg-color: #404c55;
|
--main-bg-color: #404c55;
|
||||||
|
|
|
@ -201,7 +201,7 @@
|
||||||
p.dataTime {
|
p.dataTime {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
font-size: 12px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
#noservices {
|
#noservices {
|
||||||
margin: 20px;
|
margin: 20px;
|
||||||
|
|
|
@ -150,7 +150,7 @@
|
||||||
click(rid, uid, tid);
|
click(rid, uid, tid);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<p class="smallScreen">Your display is too small to view this data</p>
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="id">ID</th>
|
<th class="id">ID</th>
|
||||||
|
@ -179,20 +179,20 @@
|
||||||
<td class="id">{service.trainid}</td>
|
<td class="id">{service.trainid}</td>
|
||||||
<td class="from {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.from}</td>
|
<td class="from {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.from}</td>
|
||||||
<td class="to {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.to}</td>
|
<td class="to {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.to}</td>
|
||||||
<td class="plat {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'} {serviceData.platformHidden && 'nonPass'}">{serviceData.platform.number || '-'}</td>
|
<td class="plat {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.platform.number || '-'}</td>
|
||||||
<td class="time schTime {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.schArr}</td>
|
<td class="time {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.schArr}</td>
|
||||||
<td class="time {serviceData.isNonPublic && 'nonPass'} {serviceData.isLateArr && 'late'} {serviceData.isArrDelayed && 'late'} {serviceData.isCancelled && 'canc'} {serviceData.isEarlyArr && 'early'}"
|
<td class="time {serviceData.isNonPublic && 'nonPass'} {serviceData.isLateArr && 'late'} {serviceData.isArrDelayed && 'late'} {serviceData.isCancelled && 'canc'}"
|
||||||
>{serviceData.isArrDelayed ? 'LATE' : serviceData.expArr}</td
|
>{serviceData.isArrDelayed ? 'LATE' : serviceData.expArr}</td
|
||||||
>
|
>
|
||||||
<td class="time schTime {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.schDep}</td>
|
<td class="time {serviceData.isNonPublic && 'nonPass'} {serviceData.isCancelled && 'cancTxt'}">{serviceData.schDep}</td>
|
||||||
<td
|
<td
|
||||||
class="time {serviceData.isNonPublic && 'nonPass'} {serviceData.isLateDep && 'late'} {serviceData.isDepDelayed && 'late'}
|
class="time {serviceData.isNonPublic && 'nonPass'} {serviceData.isLateDep && 'late'} {serviceData.isDepDelayed && 'late'}
|
||||||
{serviceData.isCancelled && 'canc'} {serviceData.isEarlyDep && 'early'}">{serviceData.isDepDelayed ? 'LATE' : serviceData.expDep}</td
|
{serviceData.isCancelled && 'canc'}">{serviceData.isDepDelayed ? 'LATE' : serviceData.expDep}</td
|
||||||
>
|
>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="tableTxt" colspan="8">
|
<td class="tableTxt" colspan="8">
|
||||||
{service.operator} {#if service.isCharter}charter{/if}
|
{service.operator}
|
||||||
{#if serviceData.length} | {serviceData.length} carriages{/if}
|
{#if serviceData.length} | {serviceData.length} carriages{/if}
|
||||||
{#if service.delayReason}
|
{#if service.delayReason}
|
||||||
<br />
|
<br />
|
||||||
|
@ -227,10 +227,10 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.dataRow {
|
.dataRow {
|
||||||
font-family: ubuntu, monospace;
|
font-family: firamono, monospace;
|
||||||
vertical-align: bottom;
|
vertical-align: bottom;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 16px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Table Columns */
|
/* Table Columns */
|
||||||
|
@ -267,10 +267,6 @@
|
||||||
td.from, th.from {
|
td.from, th.from {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
td.time {
|
|
||||||
font-size: 15px;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
.tableTxt {
|
.tableTxt {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
|
@ -279,30 +275,6 @@
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle small screens */
|
|
||||||
.smallScreen {display: none; margin: 20px;}
|
|
||||||
@media screen and (max-width: 335px) {
|
|
||||||
th {font-size: 10px;}
|
|
||||||
.dataRow {font-size: 12px;}
|
|
||||||
td.time {font-size: 12px;}
|
|
||||||
.tableTxt{font-size:10px;}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 279px) {
|
|
||||||
table {display: none;}
|
|
||||||
.smallScreen {display: block;}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Handle Large Screens */
|
|
||||||
@media screen and (min-width: 375px) {
|
|
||||||
.dataRow{font-size: 18px;}
|
|
||||||
td.time{font-size:16px;}
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 450px) {
|
|
||||||
.dataRow{font-size:20px;}
|
|
||||||
td.time{font-size:19px;}
|
|
||||||
.tableTxt{font-size:13px;}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Conditional Classes */
|
/* Conditional Classes */
|
||||||
.cancTxt {
|
.cancTxt {
|
||||||
color: grey !important;
|
color: grey !important;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<script>
|
<script>
|
||||||
import OverlayIsland from '$lib/islands/overlay-island.svelte';
|
import OverlayIsland from '$lib/islands/overlay-island.svelte';
|
||||||
import { fade } from 'svelte/transition';
|
import Loading from '$lib/navigation/loading.svelte';
|
||||||
import Reason from '$lib/raw-fetchers/reason.svelte';
|
import Reason from '$lib/raw-fetchers/reason.svelte';
|
||||||
import { uuid } from '$lib/stores/uuid';
|
import { uuid } from '$lib/stores/uuid';
|
||||||
export let detail = {
|
export let detail = {
|
||||||
|
@ -97,46 +97,50 @@
|
||||||
|
|
||||||
<OverlayIsland>
|
<OverlayIsland>
|
||||||
<div id="detailBox">
|
<div id="detailBox">
|
||||||
<button type="button" id="closeService" on:click={handleClick}>X</button>
|
|
||||||
{#await getTrain(detail.rid)}
|
{#await getTrain(detail.rid)}
|
||||||
<h6>{detail.headcode}</h6>
|
<h6>{detail.headcode}</h6>
|
||||||
<p in:fade id="loading">Loading Data...</p>
|
<Loading />
|
||||||
{:then train}
|
{:then train}
|
||||||
<h6>{train.GetServiceDetailsResult.operatorCode}: {detail.headcode}</h6>
|
<h6>{train.GetServiceDetailsResult.operatorCode}: {detail.headcode}</h6>
|
||||||
|
<button type="button" id="closeService" on:click={handleClick}>X</button>
|
||||||
<p>
|
<p>
|
||||||
Locations in grey are not scheduled stops
|
Locations in grey are not scheduled stops
|
||||||
<br />
|
<br />
|
||||||
Times in <span class="estimate">yellow</span> are estimated times
|
Times in <span class="estimate">yellow</span> are estimated times
|
||||||
</p>
|
</p>
|
||||||
|
<table id="detailTable">
|
||||||
{#if train.GetServiceDetailsResult.delayReason}
|
{#if train.GetServiceDetailsResult.delayReason}
|
||||||
<p class="reason late">
|
<tr
|
||||||
|
><td colspan="7" class="late">
|
||||||
<Reason type="delay" code={train.GetServiceDetailsResult.delayReason} />
|
<Reason type="delay" code={train.GetServiceDetailsResult.delayReason} />
|
||||||
</p>
|
</td></tr
|
||||||
|
>
|
||||||
{/if}
|
{/if}
|
||||||
{#if train.GetServiceDetailsResult.cancelReason}
|
{#if train.GetServiceDetailsResult.cancelReason}
|
||||||
<p class="reason canc">
|
<tr
|
||||||
|
><td colspan="7" class="canc">
|
||||||
<Reason type="cancel" code={train.GetServiceDetailsResult.cancelReason} />
|
<Reason type="cancel" code={train.GetServiceDetailsResult.cancelReason} />
|
||||||
</p>
|
</td></tr
|
||||||
|
>
|
||||||
{/if}
|
{/if}
|
||||||
<table id="detailTable">
|
|
||||||
<tr>
|
|
||||||
<th class="tableLocation">Loc.</th>
|
|
||||||
<th class="tablePlatform">Pl.</th>
|
|
||||||
<th class="tableTime">Sch</th>
|
|
||||||
<th class="tableTime">Est/<br>Act</th>
|
|
||||||
<th class="tableTime">Sch</th>
|
|
||||||
<th class="tableTime">Est/<br>Act</th>
|
|
||||||
<th class="tableDelay" />
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="2" />
|
<th colspan="2" />
|
||||||
<th colspan="2">Arrival</th>
|
<th colspan="2">Arrival</th>
|
||||||
<th colspan="2">Departure</th>
|
<th colspan="2">Departure</th>
|
||||||
<th />
|
<th />
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th class="tableLocation">Location</th>
|
||||||
|
<th class="tablePlatform">Pl.</th>
|
||||||
|
<th class="tableTime">Sch</th>
|
||||||
|
<th class="tableTime">Est/Act</th>
|
||||||
|
<th class="tableTime">Sch</th>
|
||||||
|
<th class="tableTime">Est/Act</th>
|
||||||
|
<th class="tableDelay" />
|
||||||
|
</tr>
|
||||||
{#each train.GetServiceDetailsResult.locations.location as location}
|
{#each train.GetServiceDetailsResult.locations.location as location}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="location {location?.isPass === 'true' ? 'pass' : ''}">{location.tiploc}</td>
|
<td class={location?.isPass === 'true' ? 'pass' : ''}>{location.tiploc}</td>
|
||||||
<td class={location?.isPass === 'true' ? 'pass' : ''}>{location.platform || ''}</td>
|
<td class={location?.isPass === 'true' ? 'pass' : ''}>{location.platform || ''}</td>
|
||||||
{#await parseTimes(location)}
|
{#await parseTimes(location)}
|
||||||
<td />
|
<td />
|
||||||
|
@ -176,17 +180,10 @@
|
||||||
left: 20px;
|
left: 20px;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
#loading {
|
|
||||||
color: white;
|
|
||||||
animation: pulse-early 2.5s linear infinite;
|
|
||||||
}
|
|
||||||
p {
|
p {
|
||||||
margin-top: 45px;
|
margin-top: 45px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
p.reason {
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
#closeService {
|
#closeService {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
|
@ -202,49 +199,28 @@
|
||||||
}
|
}
|
||||||
#detailTable {
|
#detailTable {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
table-layout: fixed;
|
margin: auto;
|
||||||
width: 100%;
|
|
||||||
margin-top: 12px;
|
|
||||||
margin-left: 0px;
|
|
||||||
margin-right: 0px;
|
|
||||||
padding: 0px;
|
|
||||||
color: white;
|
color: white;
|
||||||
font-family: ubuntu,monospace;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 338px) {
|
|
||||||
#detailTable{font-size: 14px}
|
|
||||||
}
|
|
||||||
@media screen and (max-width: 301px) {
|
|
||||||
#detailTable{font-size: 12px}
|
|
||||||
}
|
|
||||||
@media screen and (min-width: 469px) {
|
|
||||||
#detailTable{font-size: 20px}
|
|
||||||
}
|
}
|
||||||
.tableLocation {
|
.tableLocation {
|
||||||
width: 18%;
|
width: 20%;
|
||||||
}
|
|
||||||
td.location {
|
|
||||||
color: yellow;
|
|
||||||
}
|
}
|
||||||
.tablePlatform {
|
.tablePlatform {
|
||||||
width: 5%;
|
width: 8%;
|
||||||
}
|
}
|
||||||
.tableTime {
|
.tableTime {
|
||||||
width: 15%;
|
width: 15%;
|
||||||
}
|
}
|
||||||
.tableDelay {
|
.tableDelay {
|
||||||
width: 7%;
|
width: 5%;
|
||||||
}
|
}
|
||||||
.estimate {
|
.estimate {
|
||||||
color: rgb(255, 255, 119);
|
color: rgb(255, 255, 50);
|
||||||
}
|
}
|
||||||
.pass {
|
.pass {
|
||||||
color: white !important;
|
|
||||||
opacity: 0.45;
|
opacity: 0.45;
|
||||||
}
|
}
|
||||||
.canc {
|
.canc {
|
||||||
color: white;
|
|
||||||
animation: pulse-cancel 1.5s linear infinite;
|
animation: pulse-cancel 1.5s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,7 +229,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.late {
|
.late {
|
||||||
color: white;
|
|
||||||
animation: pulse-late 1.5s linear infinite;
|
animation: pulse-late 1.5s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
export const version = '2023.7.1';
|
export const version = '2023.7.1';
|
||||||
export const versionTag = 'beta.2';
|
export const versionTag = 'beta';
|
||||||
export const showWelcome = true;
|
export const showWelcome = true;
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
-------------------------------
|
|
||||||
UBUNTU FONT LICENCE Version 1.0
|
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
PREAMBLE
|
|
||||||
This licence allows the licensed fonts to be used, studied, modified and
|
|
||||||
redistributed freely. The fonts, including any derivative works, can be
|
|
||||||
bundled, embedded, and redistributed provided the terms of this licence
|
|
||||||
are met. The fonts and derivatives, however, cannot be released under
|
|
||||||
any other licence. The requirement for fonts to remain under this
|
|
||||||
licence does not require any document created using the fonts or their
|
|
||||||
derivatives to be published under this licence, as long as the primary
|
|
||||||
purpose of the document is not to be a vehicle for the distribution of
|
|
||||||
the fonts.
|
|
||||||
|
|
||||||
DEFINITIONS
|
|
||||||
"Font Software" refers to the set of files released by the Copyright
|
|
||||||
Holder(s) under this licence and clearly marked as such. This may
|
|
||||||
include source files, build scripts and documentation.
|
|
||||||
|
|
||||||
"Original Version" refers to the collection of Font Software components
|
|
||||||
as received under this licence.
|
|
||||||
|
|
||||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
||||||
or substituting -- in part or in whole -- any of the components of the
|
|
||||||
Original Version, by changing formats or by porting the Font Software to
|
|
||||||
a new environment.
|
|
||||||
|
|
||||||
"Copyright Holder(s)" refers to all individuals and companies who have a
|
|
||||||
copyright ownership of the Font Software.
|
|
||||||
|
|
||||||
"Substantially Changed" refers to Modified Versions which can be easily
|
|
||||||
identified as dissimilar to the Font Software by users of the Font
|
|
||||||
Software comparing the Original Version with the Modified Version.
|
|
||||||
|
|
||||||
To "Propagate" a work means to do anything with it that, without
|
|
||||||
permission, would make you directly or secondarily liable for
|
|
||||||
infringement under applicable copyright law, except executing it on a
|
|
||||||
computer or modifying a private copy. Propagation includes copying,
|
|
||||||
distribution (with or without modification and with or without charging
|
|
||||||
a redistribution fee), making available to the public, and in some
|
|
||||||
countries other activities as well.
|
|
||||||
|
|
||||||
PERMISSION & CONDITIONS
|
|
||||||
This licence does not grant any rights under trademark law and all such
|
|
||||||
rights are reserved.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
copy of the Font Software, to propagate the Font Software, subject to
|
|
||||||
the below conditions:
|
|
||||||
|
|
||||||
1) Each copy of the Font Software must contain the above copyright
|
|
||||||
notice and this licence. These can be included either as stand-alone
|
|
||||||
text files, human-readable headers or in the appropriate machine-
|
|
||||||
readable metadata fields within text or binary files as long as those
|
|
||||||
fields can be easily viewed by the user.
|
|
||||||
|
|
||||||
2) The font name complies with the following:
|
|
||||||
(a) The Original Version must retain its name, unmodified.
|
|
||||||
(b) Modified Versions which are Substantially Changed must be renamed to
|
|
||||||
avoid use of the name of the Original Version or similar names entirely.
|
|
||||||
(c) Modified Versions which are not Substantially Changed must be
|
|
||||||
renamed to both (i) retain the name of the Original Version and (ii) add
|
|
||||||
additional naming elements to distinguish the Modified Version from the
|
|
||||||
Original Version. The name of such Modified Versions must be the name of
|
|
||||||
the Original Version, with "derivative X" where X represents the name of
|
|
||||||
the new work, appended to that name.
|
|
||||||
|
|
||||||
3) The name(s) of the Copyright Holder(s) and any contributor to the
|
|
||||||
Font Software shall not be used to promote, endorse or advertise any
|
|
||||||
Modified Version, except (i) as required by this licence, (ii) to
|
|
||||||
acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with
|
|
||||||
their explicit written permission.
|
|
||||||
|
|
||||||
4) The Font Software, modified or unmodified, in part or in whole, must
|
|
||||||
be distributed entirely under this licence, and must not be distributed
|
|
||||||
under any other licence. The requirement for fonts to remain under this
|
|
||||||
licence does not affect any document created using the Font Software,
|
|
||||||
except any version of the Font Software extracted from a document
|
|
||||||
created using the Font Software may only be distributed under this
|
|
||||||
licence.
|
|
||||||
|
|
||||||
TERMINATION
|
|
||||||
This licence becomes null and void if any of the above conditions are
|
|
||||||
not met.
|
|
||||||
|
|
||||||
DISCLAIMER
|
|
||||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
|
||||||
COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
||||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
||||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
|
|
||||||
DEALINGS IN THE FONT SOFTWARE.
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue