Compare commits

...

7 Commits

Author SHA1 Message Date
Fred Boniface 6c2b0e6271 Add notes
Signed-off-by: Fred Boniface <fred@fjla.uk>
2023-01-21 23:09:05 +00:00
Fred Boniface a3251a9061 Frontend: Move more images to SVG
Signed-off-by: Fred Boniface <fred@fjla.uk>
2023-01-21 22:53:56 +00:00
Fred Boniface 35e7a43237 Frontend:
- Minify SVG Files
 - Move all logos to default SVG with webp & png fallback
 - Update favicon & app icons

Signed-off-by: Fred Boniface <fred@fjla.uk>
2023-01-21 21:59:33 +00:00
Fred Boniface 7e5be79769 Add SVG Logos
Signed-off-by: Fred Boniface <fred@fjla.uk>
2023-01-21 20:57:00 +00:00
Fred Boniface 76bd9d93ec Fix loading again
Signed-off-by: Fred Boniface <fred@fjla.uk>
2023-01-21 20:35:11 +00:00
Fred Boniface db2300e4f4 Fix loading box
Signed-off-by: Fred Boniface <fred@fjla.uk>
2023-01-21 20:33:15 +00:00
Fred Boniface 88ae58368e Frontend:
- Make all theme colours CSS Vars.
 - Dynamic text in loading box.

Signed-off-by: Fred Boniface <fred@fjla.uk>
2023-01-21 20:24:59 +00:00
57 changed files with 285 additions and 127 deletions

View File

@ -1,7 +1,19 @@
# What to do next:
* Backend - Add Indexes:
## Frontend:
* Implement error pages.
* Still need SVG Fallback option for alert icon on board.html
* Alerts box should not be clickable, bar should be.
* Issue page: Submit using API.
* Support multiple service origins/destinations:
- Where there are multiples an array is returned for trainServices.service
* Enable text search for `locationName` on find-code page.
## Backend:
* DB Indexes:
- "stations": 3ALPHA, STANOX, TIPLOC
- "corpus": 3ALPHA, NLC, NLCDESC(TEXT)
* Backend - The list of services should always be an array [] as per the NRCC MEssages.
* Frontend - Implement error pages
* Add Gitea Issue API

View File

@ -1,3 +1,4 @@
.dockerignore
Dockerfile
*.xcf
*.inkscape.svg

View File

@ -10,7 +10,7 @@
<title>OwlBoard - Loading</title>
<link rel="stylesheet" type="text/css" href="./styles/main.css"/>
<link rel="stylesheet" type="text/css" href="./styles/boards.css"/>
<link rel="icon" type="image/png" href="./images/logo/logo-sq-256.png"/>
<link rel="icon" type="image/svg+xml" href="./images/icon.svg"/>
<link rel="manifest" type="application/json" href="./manifest.json"/>
<script src="./js/main.js" defer></script>
<script src="./js/boards.js" defer></script>
@ -20,7 +20,7 @@
<div id="loading">
<div class="spinner">
</div>
<p>Loading</p>
<p id="loading_desc">\nLoading</p>
</div>
<div id="content">
@ -34,18 +34,19 @@
</div>
</div>
<div id="alerts">
<div id="alerts" onclick="">
<div id="alerts_bar" onclick="inflateAlerts()">
<img id="alert_icon" src="./images/nav/alert_icon.svg" alt="">
<p id="alert_bar_note"></p>
<button id="alert_expand_arrow">&#8897;</button>
<div id="alerts_msg">
<div id="alerts_msg" onclick="NULL">
</div>
</div>
</div>
<div id="output">
<table>
<caption>Train Services</caption>
<tr>
<th class="name">Origin</th>
<th class="name">Dest.</th>
@ -61,9 +62,9 @@
</div>
</div>
<div id="ferry" class="hide-when-loading">
<p>Ferry Services</p>
<div id="ferry" class="hide-when-loading secondary-table">
<table>
<caption>Ferry Services</caption>
<tr>
<th class="name">Origin</th>
<th class="name">Dest.</th>
@ -76,9 +77,9 @@
</table>
</div>
<div id="bus" class="hide-when-loading">
<p>Bus Services</p>
<div id="bus" class="hide-when-loading secondary-table">
<table>
<caption>Bus Services</caption>
<tr>
<th class="name">Origin</th>
<th class="name">Dest.</th>
@ -100,10 +101,21 @@
</div>
<div id="footer">
<picture>
<source srcset="./images/nre/nre-powered_200w.webp" type="image/webp">
<img id="nre_logo" src="./images/nre/nre-powered_200w.webp" alt="Powered by National Rail Enquiries">
<picture id="nre_logo">
<source srcset="./images/nre/nre-powered_400w.jxl" type="image/jxl">
<source srcset="./images/nre/nre-powered_400w.webp" type="image/webp">
<img src="./images/nre/nre-powered_400w.png" alt="Powered by National Rail Enquiries">
</picture>
<a href="/">
<picture id="owlboard_logo">
<source srcset="./images/logo/mono-logo.svg" type="image/svg+xml">
<img src="./images/logo/mono-logo-33.png" alt="OwlBoard Logo">
</picture>
<picture id="home_icon">
<source srcset="./images/nav/home_icon.svg" type="image/svg+xml">
<img src="./images/nav/home_icon-40.png" type="image/png" alt="Home">
</picture>
</a>
</div>
</div>
</body>

View File

@ -9,7 +9,7 @@
<meta name="theme-color" content="#155bb7">
<link rel="stylesheet" type="text/css" href="./styles/main.css"/>
<link rel="stylesheet" type="text/css" href="./styles/find-code.css"/>
<link rel="icon" type="image/png" href="./images/logo/logo-sq-256.png"/>
<link rel="icon" type="image/svg+xml" href="./images/icon.svg"/>
<link rel="manifest" type="application/json" href="./manifest.json"/>
<title>OwlBoard - Code Lookup</title>
<script src="./js/main.js" defer></script>
@ -23,11 +23,9 @@
</div>
<picture>
<source media="(max-width:450px)" srcset="/images/logo/logo-full-256.webp" type="image/webp">
<source media="(max-width:450px)" srcset="/images/logo/logo-full-256.png" type="image/png">
<source srcset="/images/logo/logo-full-512.webp" type="image/webp">
<source srcset="/images/logo/logo-full-512.png" type="image/png">
<img class="titleimg" src="./images/logo/logo-full-512.png" alt="OwlBoard Logo">
<source srcset="/images/logo/wide_logo.svg" type="image/svg+xml">
<source srcset="/images/logo/logo-full-256.webp" type="image/webp">
<img class="titleimg" src="/images/logo/logo-full-256.png" alt="OwlBoard Logo">
</picture>
<h2>Code Lookup</h2>
<p>Enter one known code in the relevant box below and hit submit.
@ -38,7 +36,7 @@
<div id="loading">
<div class="spinner">
</div>
<p>Searching</p>
<p id="loading_desc">Searching</p>
</div>
<label for="name">Location name:</label><br>

View File

@ -8,7 +8,7 @@
<meta name="author" content="Frederick Boniface">
<meta name="theme-color" content="#155bb7">
<link rel="stylesheet" type="text/css" href="./styles/main.css"/>
<link rel="icon" type="image/png" href="./images/logo/logo-sq-256.png"/>
<link rel="icon" type="image/svg+xml" href="./images/icon.svg"/>
<link rel="manifest" type="application/json" href="./manifest.json"/>
<title>OwlBoard</title>
</head>
@ -20,13 +20,9 @@
</div>
<picture>
<source media="(min-width:800px)" secset="./images/logo/logo-full-715.webp" type="image/webp">
<source media="(min-width:800px)" srcset="./images/logo/logo-full-715.png" type="image/png">
<source media="(min-width:700px)" srcset="./images/logo/logo-full-512.webp" type="image/webp">
<source media="(min-width:700px)" srcset="./images/logo/logo-full-512.png" type="image/png">
<source media="(min-width:450px)" srcset="./images/logo/logo-full-256.webp" type="image/png">
<source media="(min-width:450px)" srcset="./images/logo/logo-full-256.png" type="image/png">
<img class="titleimg" src="./images/logo/logo-full-512.png" alt="OwlBoard Logo">
<source srcset="/images/logo/wide_logo.svg" type="image/svg+xml">
<source srcset="/images/logo/logo-full-256.webp" type="image/webp">
<img class="titleimg" src="/images/logo/logo-full-256.png" alt="OwlBoard Logo">
</picture>
<h2>Help</h2>
<p>OwlBoard gives you quick and easy access to departure boards for

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -8,6 +8,13 @@
width="880"
height="880"
viewBox="0 0 880 880"
sodipodi:docname=".wide-logo-inkscape.svg"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
inkscape:export-filename="mono-logo.svg"
inkscape:export-xdpi="100"
inkscape:export-ydpi="100"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
@ -17,32 +24,112 @@
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs1085"><rect
x="556.24974"
y="416.63327"
width="844.34721"
height="241.55865"
id="rect7257" /><rect
x="31.025882"
y="1254.3321"
width="239.34252"
height="39.890419"
id="rect7179" /><rect
x="425.4978"
y="106.37445"
width="394.47192"
height="272.58453"
id="rect947" /></defs><g
width="413.53425"
height="183.62704"
id="rect947" /><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath1097"><path
d="M 0,660 H 660 V 0 H 0 Z"
id="path1095"
inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1007"
id="namedview1083"
showgrid="false"
inkscape:zoom="0.45123617"
inkscape:cx="944.07326"
inkscape:cy="469.82049"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1089"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showguides="true"><sodipodi:guide
position="768.99864,381.36976"
orientation="1,0"
id="guide1739"
inkscape:locked="false" /><sodipodi:guide
position="-409.98486,802.4353"
orientation="0,-1"
id="guide1741"
inkscape:locked="false" /></sodipodi:namedview><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="bbf"><rect
style="fill:#fcfc09;stroke-width:0.75;fill-opacity:1"
id="rect1066"
width="61.49773"
height="36.566219"
x="152.91328"
y="-472.18262"
transform="matrix(1.3333333,0,0,1.3333333,0,880)"
inkscape:export-filename="wide_logo.svg"
inkscape:export-xdpi="100"
inkscape:export-ydpi="100" /><rect
style="fill:#f0ffff;fill-opacity:1"
id="rect5117"
width="181.72302"
height="68.700165"
x="157.34554"
y="177.29076" /></g><g
id="g1089"
inkscape:groupmode="layer"
inkscape:label="owl-silhouette-freesvg.org"
transform="matrix(1.3333333,0,0,-1.3333333,0,880)"><g
id="g1337"
style="fill:#00b7b7;fill-opacity:1"><path
inkscape:connector-curvature="0"
id="path1191"
style="fill:#00b7b7;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 112.253,369.323 c 12.988,-10.101 30.989,0.076 39.875,15.722 9.969,-34.512 37.501,-53.367 57.648,-37.596 -6.503,-20.085 -34.373,-34.554 -61.522,13.215 -15.947,-14.598 -28.559,-14.416 -36.001,8.659 m 14.302,-81.369 c 15.405,-6.791 28.15,7.974 30.66,25.885 21.351,-31.973 53.097,-43.81 65.802,-22.905 1.237,-21.743 -18.954,-43.315 -60.644,-2.464 -9.305,-18.663 -20.837,-21.694 -35.818,-0.516 m 33.549,175.931 24.381,-9.342 24.382,9.342 -24.382,-24.381 z m -14.899,47.955 c 1.574,0 3.075,-0.31 4.448,-0.869 -1.973,-1.1 -3.309,-3.206 -3.309,-5.626 0,-3.554 2.883,-6.436 6.437,-6.436 1.608,0 3.079,0.59 4.208,1.566 0.005,-0.143 0.008,-0.284 0.008,-0.428 0,-6.512 -5.28,-11.791 -11.792,-11.791 -6.512,0 -11.791,5.279 -11.791,11.791 0,6.513 5.279,11.793 11.791,11.793 m 77.642,0 c 1.573,0 3.075,-0.31 4.447,-0.869 -1.973,-1.1 -3.308,-3.206 -3.308,-5.626 0,-3.554 2.882,-6.436 6.437,-6.436 1.608,0 3.079,0.59 4.207,1.566 0.006,-0.143 0.009,-0.284 0.009,-0.428 0,-6.512 -5.28,-11.791 -11.792,-11.791 -6.513,0 -11.792,5.279 -11.792,11.791 0,6.513 5.279,11.793 11.792,11.793 m 0,8.887 c 11.421,0 20.677,-9.259 20.677,-20.68 0,-11.42 -9.256,-20.677 -20.677,-20.677 -11.42,0 -20.678,9.257 -20.678,20.677 0,11.421 9.258,20.68 20.678,20.68 m -77.642,0 c 11.42,0 20.679,-9.259 20.679,-20.68 0,-11.42 -9.259,-20.677 -20.679,-20.677 -11.42,0 -20.678,9.257 -20.678,20.677 0,11.421 9.258,20.68 20.678,20.68 M 367.82,249.402 c -5.257,-16.303 -14.169,-16.431 -25.436,-6.118 -19.182,-33.751 -38.872,-23.527 -43.468,-9.336 14.236,-11.143 33.688,2.178 40.73,26.562 6.28,-11.055 18.998,-18.245 28.174,-11.108 m -7.657,101.75 c -5.26,-16.304 -14.169,-16.433 -25.436,-6.118 -19.182,-33.751 -38.873,-23.529 -43.469,-9.338 14.236,-11.142 33.688,2.179 40.731,26.564 6.279,-11.055 18.997,-18.247 28.174,-11.108 m 3.828,-50.877 c -5.259,-16.302 -14.168,-16.429 -25.435,-6.117 -19.182,-33.752 -38.873,-23.528 -43.469,-9.338 14.236,-11.14 33.687,2.181 40.731,26.564 6.279,-11.055 18.996,-18.243 28.173,-11.109 m -184.999,-126.56 8.456,14.687 -2.481,14.064 c 8.24,-6.441 16.897,-12.257 25.895,-17.419 l -13.787,-20.682 c -5.163,5.163 -11.523,8.215 -18.083,9.35 m 214.435,47.276 -16.013,24.214 v 93.753 c 0,40.019 -32.441,72.459 -72.458,72.459 -37.742,0 -68.739,-28.855 -72.144,-65.707 -0.563,6.626 -0.974,13.336 -1.228,20.135 0,36.412 26.858,66.546 61.843,71.684 15.118,42.436 3.44,91.058 -31.815,121.878 -0.332,0.288 -0.668,0.569 -1.002,0.854 -14.934,-8.987 -28.921,-18.756 -41.766,-29.467 14.159,17.506 30.102,32.253 47.212,45.198 -47.368,32.008 -116.692,32.008 -164.058,0 17.11,-12.946 33.054,-27.694 47.212,-45.201 -11.522,9.609 -23.965,18.462 -37.188,26.67 -40.329,-37.119 -47.937,-98.2 -17.545,-144.158 4.83,-7.304 7.155,-15.981 6.624,-24.722 -3.808,-62.683 19.436,-123.991 63.84,-168.396 3.505,-3.505 7.116,-6.877 10.824,-10.115 l -15.66,-23.489 c -18.988,18.987 -54.154,9.494 -56.053,-19.369 4.94,7.294 12.965,10.334 21.93,10.306 4.624,3.683 10.595,5.668 18.277,5.498 -14.197,-2.669 -23.71,-11.684 -25.256,-26.007 9.826,11.065 21.246,13.643 34.785,11.262 -7.045,-4.94 -12.081,-12.841 -12.767,-23.274 4.941,7.293 12.965,10.335 21.932,10.303 1.457,1.162 3.047,2.155 4.783,2.963 0.557,-0.597 1.095,-1.202 1.614,-1.819 -7.504,-4.493 -12.316,-11.823 -13.378,-21.652 5.924,6.673 12.428,10.259 19.627,11.533 1.471,-3.662 2.152,-7.45 1.823,-11.24 4.057,2.964 6.698,7.077 8.006,11.651 2.475,-0.187 5.026,-0.574 7.654,-1.132 12.8,-8.149 22.377,-20.41 21.31,-32.736 11.849,8.659 11.621,27.116 1.367,38.28 l 8.659,15.04 -2.26,12.808 c 15.693,-7.825 32.28,-13.746 49.402,-17.626 -7.313,17.831 -12.59,36.793 -15.633,56.995 19.737,-52.989 51.201,-99.462 92.224,-140.627 3.548,-6.147 10.784,-9.143 17.64,-7.305 6.856,1.837 11.623,8.048 11.623,15.147 v 65.793 c 33.793,-9.913 62.771,-33.463 79.074,-66.13 l 119.851,29.509 c -14.567,69.186 -99.576,110.135 -175.589,96.362 z" /></g><text
xml:space="preserve"
transform="matrix(0.75000002,0,0,-0.75000002,-16.621008,676.62103)"
transform="scale(1,-1)"
id="text945"
style="font-size:106.667px;line-height:0.8;white-space:pre;shape-inside:url(#rect947);display:inline;fill:#00b7b7;fill-opacity:1"><tspan
x="425.49805"
y="179.42858"
id="tspan1391"><tspan
style="font-weight:600;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Semi-Bold'"
id="tspan1389">OWL
style="font-size:139.509px;line-height:0.8;white-space:pre;display:inline;fill:#00b7b7;fill-opacity:1;stroke-width:1.30789"
inkscape:export-filename="wide_logo.svg"
inkscape:export-xdpi="100"
inkscape:export-ydpi="100"
x="314.13724"
y="-427.4906"><tspan
id="tspan1419"
style="stroke-width:1.30789"><tspan
style="font-weight:600;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Semi-Bold';stroke-width:1.30789"
id="tspan1417">OWL
</tspan></tspan><tspan
x="425.49805"
y="269.65554"
id="tspan1397"><tspan
style="font-weight:600;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic Semi-Bold'"
id="tspan1393"> </tspan><tspan
style="font-size:96px;font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic'"
id="tspan1395">BOARD</tspan></tspan></text></g></svg>
id="tspan1425"
style="stroke-width:1.30789" /></text><text
xml:space="preserve"
transform="matrix(0.75000002,0,0,-0.75000002,0,660.00002)"
id="text7177"
style="fill:#f0ffff;fill-opacity:1;white-space:pre;shape-inside:url(#rect7179)" /><text
xml:space="preserve"
transform="matrix(0.75000002,0,0,-0.75000002,-19.94521,727.82195)"
id="text7255"
style="font-size:186.012px;white-space:pre;shape-inside:url(#rect7257);fill:#00b7b7;fill-opacity:1"><tspan
x="556.25"
y="585.88051"
id="tspan9474"><tspan
style="font-family:'URW Gothic';-inkscape-font-specification:'URW Gothic'"
id="tspan9472">BOARD</tspan></tspan></text></g></svg>

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 176 KiB

2
static/images/icon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 667.26 706.8" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata><g transform="matrix(1.3333 0 0 -1.3333 -101.19 800)"><g fill="#fff"><path d="m112.25 369.32c12.988-10.101 30.989 0.076 39.875 15.722 9.969-34.512 37.501-53.367 57.648-37.596-6.503-20.085-34.373-34.554-61.522 13.215-15.947-14.598-28.559-14.416-36.001 8.659m14.302-81.369c15.405-6.791 28.15 7.974 30.66 25.885 21.351-31.973 53.097-43.81 65.802-22.905 1.237-21.743-18.954-43.315-60.644-2.464-9.305-18.663-20.837-21.694-35.818-0.516m33.549 175.93 24.381-9.342 24.382 9.342-24.382-24.381zm-14.899 47.955c1.574 0 3.075-0.31 4.448-0.869-1.973-1.1-3.309-3.206-3.309-5.626 0-3.554 2.883-6.436 6.437-6.436 1.608 0 3.079 0.59 4.208 1.566 5e-3 -0.143 8e-3 -0.284 8e-3 -0.428 0-6.512-5.28-11.791-11.792-11.791s-11.791 5.279-11.791 11.791c0 6.513 5.279 11.793 11.791 11.793m77.642 0c1.573 0 3.075-0.31 4.447-0.869-1.973-1.1-3.308-3.206-3.308-5.626 0-3.554 2.882-6.436 6.437-6.436 1.608 0 3.079 0.59 4.207 1.566 6e-3 -0.143 9e-3 -0.284 9e-3 -0.428 0-6.512-5.28-11.791-11.792-11.791-6.513 0-11.792 5.279-11.792 11.791 0 6.513 5.279 11.793 11.792 11.793m0 8.887c11.421 0 20.677-9.259 20.677-20.68 0-11.42-9.256-20.677-20.677-20.677-11.42 0-20.678 9.257-20.678 20.677 0 11.421 9.258 20.68 20.678 20.68m-77.642 0c11.42 0 20.679-9.259 20.679-20.68 0-11.42-9.259-20.677-20.679-20.677s-20.678 9.257-20.678 20.677c0 11.421 9.258 20.68 20.678 20.68m222.62-271.32c-5.257-16.303-14.169-16.431-25.436-6.118-19.182-33.751-38.872-23.527-43.468-9.336 14.236-11.143 33.688 2.178 40.73 26.562 6.28-11.055 18.998-18.245 28.174-11.108m-7.657 101.75c-5.26-16.304-14.169-16.433-25.436-6.118-19.182-33.751-38.873-23.529-43.469-9.338 14.236-11.142 33.688 2.179 40.731 26.564 6.279-11.055 18.997-18.247 28.174-11.108m3.828-50.877c-5.259-16.302-14.168-16.429-25.435-6.117-19.182-33.752-38.873-23.528-43.469-9.338 14.236-11.14 33.687 2.181 40.731 26.564 6.279-11.055 18.996-18.243 28.173-11.109m-185-126.56 8.456 14.687-2.481 14.064c8.24-6.441 16.897-12.257 25.895-17.419l-13.787-20.682c-5.163 5.163-11.523 8.215-18.083 9.35m214.44 47.276-16.013 24.214v93.753c0 40.019-32.441 72.459-72.458 72.459-37.742 0-68.739-28.855-72.144-65.707-0.563 6.626-0.974 13.336-1.228 20.135 0 36.412 26.858 66.546 61.843 71.684 15.118 42.436 3.44 91.058-31.815 121.88-0.332 0.288-0.668 0.569-1.002 0.854-14.934-8.987-28.921-18.756-41.766-29.467 14.159 17.506 30.102 32.253 47.212 45.198-47.368 32.008-116.69 32.008-164.06 0 17.11-12.946 33.054-27.694 47.212-45.201-11.522 9.609-23.965 18.462-37.188 26.67-40.329-37.119-47.937-98.2-17.545-144.16 4.83-7.304 7.155-15.981 6.624-24.722-3.808-62.683 19.436-123.99 63.84-168.4 3.505-3.505 7.116-6.877 10.824-10.115l-15.66-23.489c-18.988 18.987-54.154 9.494-56.053-19.369 4.94 7.294 12.965 10.334 21.93 10.306 4.624 3.683 10.595 5.668 18.277 5.498-14.197-2.669-23.71-11.684-25.256-26.007 9.826 11.065 21.246 13.643 34.785 11.262-7.045-4.94-12.081-12.841-12.767-23.274 4.941 7.293 12.965 10.335 21.932 10.303 1.457 1.162 3.047 2.155 4.783 2.963 0.557-0.597 1.095-1.202 1.614-1.819-7.504-4.493-12.316-11.823-13.378-21.652 5.924 6.673 12.428 10.259 19.627 11.533 1.471-3.662 2.152-7.45 1.823-11.24 4.057 2.964 6.698 7.077 8.006 11.651 2.475-0.187 5.026-0.574 7.654-1.132 12.8-8.149 22.377-20.41 21.31-32.736 11.849 8.659 11.621 27.116 1.367 38.28l8.659 15.04-2.26 12.808c15.693-7.825 32.28-13.746 49.402-17.626-7.313 17.831-12.59 36.793-15.633 56.995 19.737-52.989 51.201-99.462 92.224-140.63 3.548-6.147 10.784-9.143 17.64-7.305 6.856 1.837 11.623 8.048 11.623 15.147v65.793c33.793-9.913 62.771-33.463 79.074-66.13l119.85 29.509c-14.567 69.186-99.576 110.14-175.59 96.362z" fill="#fff" fill-rule="evenodd"/></g></g></svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

View File

@ -1,10 +1,10 @@
<?xml version="1.0"?>
<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:svg="http://www.w3.org/2000/svg" xml:space="preserve" version="1.1" enable-background="new 0 0 448 433" viewBox="0 0 448 433">
<radialGradient id="XMLID_1_" gradientUnits="userSpaceOnUse" cy="393.79" cx="216.7" r="296.7">
<?xml version="1.0" encoding="UTF-8"?>
<svg enable-background="new 0 0 448 433" version="1.1" viewBox="0 0 448 433" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<radialGradient id="a" cx="216.7" cy="393.79" r="296.7" gradientUnits="userSpaceOnUse">
<stop stop-color="#F4D708" offset="0"/>
<stop stop-color="#FCB400" offset="1"/>
</radialGradient>
<path d="m8.551 390.5l184.85-368.8s26.409-31.504 52.815 0c26.41 31.501 180.19 370.65 180.19 370.65s3.105 18.534-27.961 18.534-361.94 0-361.94 0-23.299 0-27.959-20.38z" fill="url(#XMLID_1_)"/>
<path stroke="#E2A713" stroke-width="5" d="m8.551 390.5l184.85-368.8s26.409-31.504 52.815 0c26.41 31.501 180.19 370.65 180.19 370.65s3.105 18.534-27.961 18.534-361.94 0-361.94 0-23.299 0-27.959-20.38z" fill="none"/>
<path d="m8.551 390.5 184.85-368.8s26.409-31.504 52.815 0c26.41 31.501 180.19 370.65 180.19 370.65s3.105 18.534-27.961 18.534-361.94 0-361.94 0-23.299 0-27.959-20.38z" fill="url(#a)"/>
<path d="m8.551 390.5 184.85-368.8s26.409-31.504 52.815 0c26.41 31.501 180.19 370.65 180.19 370.65s3.105 18.534-27.961 18.534-361.94 0-361.94 0-23.299 0-27.959-20.38z" fill="none" stroke="#E2A713" stroke-width="5"/>
<path d="m212.5 292.63c-13.168-79.969-19.75-123.12-19.75-129.45 0-7.703 2.551-13.926 7.66-18.676 5.105-4.746 10.871-7.121 17.293-7.121 6.949 0 12.82 2.535 17.609 7.598s7.188 11.023 7.188 17.883c0 6.543-6.668 49.801-20 129.77h-10zm27 38.17c0 6.098-2.156 11.301-6.469 15.613-4.313 4.309-9.461 6.465-15.453 6.465-6.098 0-11.301-2.156-15.613-6.465-4.313-4.313-6.465-9.516-6.465-15.613 0-5.992 2.152-11.141 6.465-15.453s9.516-6.469 15.613-6.469c5.992 0 11.141 2.156 15.453 6.469s6.48 9.45 6.48 15.44z"/>
<metadata><rdf:RDF><cc:Work><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><cc:license rdf:resource="http://creativecommons.org/licenses/publicdomain/"/><dc:publisher><cc:Agent rdf:about="http://openclipart.org/"><dc:title>Openclipart</dc:title></cc:Agent></dc:publisher><dc:title>Warning Notification</dc:title><dc:date>2007-02-08T17:08:47</dc:date><dc:description>Beveled yellow caution sign</dc:description><dc:source>http://openclipart.org/detail/3130/warning-notification-by-eastshores</dc:source><dc:creator><cc:Agent><dc:title>eastshores</dc:title></cc:Agent></dc:creator><dc:subject><rdf:Bag><rdf:li>alert</rdf:li><rdf:li>caution</rdf:li><rdf:li>clip art</rdf:li><rdf:li>clipart</rdf:li><rdf:li>icon</rdf:li><rdf:li>image</rdf:li><rdf:li>media</rdf:li><rdf:li>public domain</rdf:li><rdf:li>svg</rdf:li><rdf:li>warning</rdf:li></rdf:Bag></dc:subject></cc:Work><cc:License rdf:about="http://creativecommons.org/licenses/publicdomain/"><cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/><cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/><cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/></cc:License></rdf:RDF></metadata></svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 859 B

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 97.74 85.154" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<g transform="translate(-51.081 -910.49)">
<path d="m100.72 910.49-24.82 23.287-24.82 23.285 16.678 0.084v38.498h23.467v-32.783h17.453v32.783h23.467v-38.174l16.676 0.084-48.1-47.064z" color="#000000" color-rendering="auto" fill="#fff" fill-rule="evenodd" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="isolation:auto;mix-blend-mode:normal"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

View File

@ -8,7 +8,7 @@
<meta name="author" content="Frederick Boniface">
<meta name="theme-color" content="#155bb7">
<link rel="stylesheet" type="text/css" href="./styles/main.css"/>
<link rel="icon" type="image/png" href="./images/logo/logo-sq-256.png"/>
<link rel="icon" type="image/svg+xml" href="./images/icon.svg"/>
<link rel="manifest" type="application/json" href="./manifest.json"/>
<script src="./js/main.js" defer></script>
<script src="./js/index.js" defer></script>
@ -20,7 +20,7 @@
<div id="loading">
<div class="spinner">
</div>
<p>Loading</p>
<p id="loading_desc">Loading</p>
</div>
<!-- Popup Menu -->
@ -38,13 +38,9 @@
<!-- Main Content Begins -->
<picture>
<source media="(max-width:450px)" srcset="/images/logo/logo-full-256.webp" type="image/webp">
<source media="(max-width:450px)" srcset="/images/logo/logo-full-256.png" type="image/png">
<source media="(max-width:700px)" srcset="/images/logo/logo-full-512.webp" type="image/webp">
<source media="(max-width:700px)" srcset="/images/logo/logo-full-512.png" type="image/png">
<source srcset="/images/logo/logo-full-715.webp" type="image/webp">
<source srcset="/images/logo/logo-full-715.png" type="image/png">
<img class="titleimg" src="/images/logo/logo-full-512.png" alt="OwlBoard Logo">
<source srcset="/images/logo/wide_logo.svg" type="image/svg+xml">
<source srcset="/images/logo/logo-full-256.webp" type="image/webp">
<img class="titleimg" src="/images/logo/logo-full-256.png" alt="OwlBoard Logo">
</picture>
<br>
<form action="board.html">

View File

@ -7,7 +7,7 @@
<meta name="author" content="Frederick Boniface">
<meta name="theme-color" content="#155bb7">
<link rel="stylesheet" type="text/css" href="./styles/main.css"/>
<link rel="icon" type="image/png" href="./images/logo/logo-sq-256.png"/>
<link rel="icon" type="image/svg+xml" href="./images/icon.svg"/>
<link rel="manifest" type="application/json" href="./manifest.json"/>
<title>OwlBoard - Report</title>
</head>
@ -16,13 +16,9 @@
<button aria-label="Back" class="sidebar_control" onclick="history.back()">&#8678;</button>
</div>
<picture>
<source media="(min-width:800px)" secset="/images/logo/logo-full-715.webp" type="image/webp">
<source media="(min-width:800px)" srcset="/images/logo/logo-full-715.png" type="image/png">
<source media="(min-width:700px)" srcset="/images/logo/logo-full-512.webp" type="image/webp">
<source media="(min-width:700px)" srcset="/images/logo/logo-full-512.png" type="image/png">
<source media="(min-width:450px)" srcset="/images/logo/logo-full-256.webp" type="image/png">
<source media="(min-width:450px)" srcset="/images/logo/logo-full-256.png" type="image/png">
<img class="titleimg" src="/images/logo/logo-full-512.png" alt="OwlBoard Logo">
<source srcset="/images/logo/wide_logo.svg" type="image/svg+xml">
<source srcset="/images/logo/logo-full-256.webp" type="image/webp">
<img class="titleimg" src="/images/logo/logo-full-256.png" alt="OwlBoard Logo">
</picture>
<h2>Report an Issue</h2>
<p>This page's functionality is not yet implemented.</p>

View File

@ -23,19 +23,24 @@ async function fetchEntry(){ // This can be condensed
async function parseData(values){
if (values.crs != ""){
setLoadingDesc(`Searching\n${values.crs.toUpperCase()}`)
var data = await getData("crs", values.crs)
} else if (values.nlc != ""){
setLoadingDesc(`Searching\n${values.nlc.toUpperCase()}`)
var data = await getData("nlc", values.nlc)
} else if (values.tiploc != ""){
setLoadingDesc(`Searching\n${values.tiploc.toUpperCase()}`)
var data = await getData("tiploc", values.tiploc)
} else if (values.stanox != ""){
setLoadingDesc(`Searching\n${values.stanox.toUpperCase()}`)
var data = await getData("stanox", values.stanox)
} else if (values.name != ""){
setLoadingDesc(`Searching\n${values.name.capitalize()}`)
var data = await getData("name", values.name)
} else {
errorNoData()
hideLoading()
return
return;
}
displayData(data);

View File

@ -1,4 +1,4 @@
// Toggle Loading Box
// Loading Box
async function clearLoading() {
document.getElementById("loading").style = "display: none;";
}
@ -7,6 +7,10 @@ async function showLoading() {
document.getElementById("loading").style = "display: block;";
}
async function setLoadingDesc(desc) {
document.getElementById("loading_desc").textContent = `${desc}`;
}
// Enable delays
const delay = ms => new Promise(res => setTimeout(res, ms));

View File

@ -3,7 +3,9 @@ init()
/* Supporting Functions */
async function init() {
setLoadingDesc(`Loading\nservices`)
var stn = await getQuery("stn");
setLoadingDesc(`Loading\n${stn.toUpperCase()}`)
log(`init: Looking up: ${stn}`);
var sv = await getQuery("sv");
log(`init: Staff Version: ${sv}`);
@ -13,10 +15,12 @@ async function init() {
} else {
try {
var data = await publicLdb(stn)
setLoadingDesc(`${stn.toUpperCase()}\nParsing Data`)
log("init: Fetched LDB Data")
parseLdb(data)
} catch (err) {
var data = null
setLoadingDesc(`Handling\nError`)
log("init: Unable to fetch LDB data")
}
}
@ -54,6 +58,7 @@ async function parseLdb(data) {
// Build and Display Functions
async function buildPage(data) {
setLoadingDesc('Loading\nTrains')
var stationName = data.GetStationBoardResult.locationName;
log(`buildPage: Data ready for ${stationName}`);
var generateTime = new Date(await data.GetStationBoardResult.generatedAt);
@ -61,6 +66,7 @@ async function buildPage(data) {
setHeaders(stationName, generateTime);
// Check for notices and if true pass to function
if (data.GetStationBoardResult.nrccMessages) {
setLoadingDesc('Loading\nAlerts')
displayAlerts(data.GetStationBoardResult.nrccMessages.message);
}
if (typeof data.GetStationBoardResult.trainServices == 'undefined') {
@ -69,9 +75,11 @@ async function buildPage(data) {
displayTrains(data)
}
if (data.GetStationBoardResult.ferryServices) {
setLoadingDesc('Loading\nFerries')
displayFerry(data.GetStationBoardResult.ferryServices)
}
if (data.GetStationBoardResult.busServices) {
setLoadingDesc('Loading\nBusses')
displayBus(data.GetStationBoardResult.busServices)
}
}

View File

@ -11,12 +11,6 @@
"orientation": "portrait",
"theme_color": "#155bb7",
"icons": [
{
"src": "/images/app-icons/maskable/app-1200.png",
"sizes": "1200x1200",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/images/app-icons/maskable/app-768.png",
"sizes": "768x768",
@ -41,27 +35,17 @@
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/images/app-icons/maskable/app-128.png",
"sizes": "128x128",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/images/app-icons/maskable/app-76.png",
"sizes": "76x76",
"type": "image/png",
"purpose": "maskable"
},
{
"src": "/images/app-icons/any/app-512.png",
"sizes": "512x512",
"type": "image/png"
"type": "image/png",
"purpose": "any"
},
{
"src": "/images/app-icons/any/app-256.png",
"sizes": "256x256",
"type": "image/png"
"type": "image/png",
"purpose": "any"
}
]
}

View File

@ -9,7 +9,7 @@
<meta name="theme-color" content="#155bb7">
<link rel="stylesheet" type="text/css" href="./styles/main.css"/>
<link rel="stylesheet" type="text/css" href="./styles/settings.css"/>
<link rel="icon" type="image/png" href="./images/logo/logo-sq-256.png"/>
<link rel="icon" type="image/svg+xml" href="./images/icon.svg"/>
<link rel="manifest" type="application/json" href="./manifest.json"/>
<title>OwlBoard - Settings</title>
<script src="./js/main.js" defer></script>
@ -28,16 +28,13 @@
</div>
<picture>
<source srcset="./images/logo/logo-full-256.webp" type="image/webp">
<source srcset="./images/logo/logo-full-256.png" type="image/png">
<img class="titleimg" src="./images/logo/logo-full-256.png" alt="OwlBoard Logo">
<source srcset="/images/logo/wide_logo.svg" type="image/svg+xml">
<source srcset="/images/logo/logo-full-256.webp" type="image/webp">
<img class="titleimg" src="/images/logo/logo-full-256.png" alt="OwlBoard Logo">
</picture>
<h2>Settings</h2>
<p>Change your OwlBoard settings.</p>
<p>Any settings you apply will only apply to the device you are using now.</p>
<p>Settings are not yet fully implemented, some options won't apply properly yet.</p>
<label>Personal Quick Links:</label><br>
<p>Enter one CRS/3ALPHA code per box</p>
<input type="text" maxlength="3" id="ql0" name="ql0" autocomplete="off" class="small-lookup-box">

View File

@ -28,7 +28,7 @@
width: 100%;
height: 50px;
background-color: var(--overlay-color);
color: lightgrey;
color: var(--second-text-color);
}
#station_name {
@ -84,8 +84,8 @@
left: 0;
width: 100%;
height: 40px;
background-color: darkorange;
color: white;
background-color: var(--main-alert-color);
color: var(--second-text-color);
}
#alert_icon{
@ -114,7 +114,7 @@
background: none;
border: none;
font-weight: 900;
color: white;
color: var(--second-text-color);
transition: transform 0.25s linear;
}
@ -124,7 +124,8 @@
left: 0;
top: 40px;
width: 100%;
background-color: orange;
background-color: var(--main-alert-color);
background-image: radial-gradient(var(--second-alert-color) 10%,var(--main-alert-color) 70%); /* Undecided whether this actually looks better than plain orange? */
}
#alerts_msg p {
@ -146,8 +147,16 @@ table {
margin-top: 3px;
font-size: 10.5px;
}
#ferry{
margin-top: 45px;
caption{
padding-top: 5px;
padding-bottom: 10px;
font-size: larger;
font-weight: 900;
}
.secondary-table{
margin-top: 25px;
}
.name{
width: 25%;
@ -155,7 +164,7 @@ table {
}
.name-item {
color: yellow;
color: var(--board-name-color);
}
.plat{
@ -174,7 +183,7 @@ table {
margin: 0;
margin-left: 3px;
text-align: left;
color: lightblue;
color: var(--note-text-color);
}
.changed{
@ -191,22 +200,41 @@ table {
left: 0;
width: 100%;
height: 40px;
background-color: var(--overlay-color);
background-image: linear-gradient(to left, var(--accent-color), azure 190px);
}
#footer img {
height: 35px;
}
#nre_logo {
position: absolute;
left: 3px;
top: 1px;
}
#owlboard_logo {
position: absolute;
right: 40px;
top: 3px;
}
#home_icon {
position: absolute;
width: 10px;
right: 30px;
top: 2px;
}
/* Animations */
@keyframes pulse-change {
50% {
color: orange;
color: var(--main-warning-color);
}
}
@keyframes pulse-cancel {
50% {
color: darkorange;
color: var(--main-alert-color);
}
}

View File

@ -34,11 +34,19 @@
/* COLOR VARS */
:root {
--main-bg-color: #404c55;
--second-bg-color: #2b343c; /* Use as first arg in radial gradient */
--accent-color: #007979;
--overlay-color: #3c6f79de;
--main-text-color: #00b7b7;
--second-text-color: azure;
--note-text-color: #9de7ff;
--link-color: azure;
--box-border-color: ;
--link-visited-color: azure;
--main-alert-color: #ed6d00;
--second-alert-color: #e77f00; /* Use as second arg in radial gradient */
--main-warning-color: orange;
--board-name-color: #fcfc09;
}
/* Loading Box: */
@keyframes spinner {
@ -53,7 +61,7 @@
animation: 1.5s linear infinite spinner;
animation-play-state: inherit;
border: solid 5px var(--overlay-color);
border-bottom-color: white;
border-bottom-color: var(--second-text-color);
border-radius: 50%;
content: "";
height: 40px;
@ -75,10 +83,12 @@
padding: 20px;
padding-bottom: 1px;
min-width: 90px;
max-width: 90px;
}
#loading p {
padding-top: 50px;
font-weight: bolder;
overflow-wrap: normal;
}
/* MAIN */
@ -88,6 +98,7 @@ html{
}
body {
background-color: var(--main-bg-color);
background-image: radial-gradient(var(--second-bg-color), var(--main-bg-color));
color: var(--main-text-color);
font-family: urwgothic, sans-serif;
text-align: center;
@ -286,7 +297,7 @@ footer {
background-color: var(--accent-color);
font-family: firamono, monospace;
font-size: smaller;
color: white;
color: var(--second-text-color);
width: 100%;
position: fixed;
bottom: 0;
@ -294,10 +305,10 @@ footer {
}
footer a {
text-decoration: underline;
color: white;
color: var(--link-color);
}
footer a:visited {
color: white;
color: var(--link-visited-color);
}
footer a:hover {
color: beige;