[client] travelynx checkin
This commit is contained in:
parent
706854de38
commit
e319569b2c
|
@ -678,3 +678,10 @@ input:focus{
|
|||
/*.showremarks:hover+.remarks {
|
||||
display: inline-block;
|
||||
}*/
|
||||
|
||||
|
||||
.travelynx {
|
||||
vertical-align: bottom;
|
||||
cursor: pointer;
|
||||
content: url("../img/travelynx.svg");
|
||||
}
|
79
client/img/travelynx.svg
Normal file
79
client/img/travelynx.svg
Normal file
|
@ -0,0 +1,79 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="travelynx.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<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>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1918"
|
||||
inkscape:window-height="2131"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="19.666667"
|
||||
inkscape:cx="0.25717638"
|
||||
inkscape:cy="10.252251"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g4573" />
|
||||
<g
|
||||
id="g4573">
|
||||
<rect
|
||||
y="3.40678"
|
||||
x="3.1271186"
|
||||
height="9.5338984"
|
||||
width="10.550848"
|
||||
id="rect4564"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:1.44797695" />
|
||||
<g
|
||||
id="g4562">
|
||||
<path
|
||||
d="m 8.4266298,1.3049637 c -3.0613961,0 -6.1227924,0.3826745 -6.1227924,3.0613962 v 7.2708161 c 0,1.477124 1.2015981,2.678722 2.6787217,2.678722 l -1.1480235,1.148023 v 0.382675 H 5.5412639 L 7.071962,14.315898 h 2.8853658 l 1.5306982,1.530698 h 1.530698 V 15.463921 L 11.8707,14.315898 c 1.477124,0 2.678722,-1.201598 2.678722,-2.678722 V 4.3663599 c 0,-2.6787217 -2.73995,-3.0613962 -6.1227922,-3.0613962 z M 4.9825591,12.7852 c -0.6352397,0 -1.1480235,-0.512784 -1.1480235,-1.148024 0,-0.63524 0.5127838,-1.148024 1.1480235,-1.148024 0.6352397,0 1.1480236,0.512784 1.1480236,1.148024 0,0.63524 -0.5127839,1.148024 -1.1480236,1.148024 z M 7.6612808,7.427756 H 3.8345356 V 4.3663599 h 3.8267452 z m 1.5306982,0 V 4.3663599 h 3.826745 V 7.427756 Z M 11.8707,12.7852 c -0.635239,0 -1.148023,-0.512784 -1.148023,-1.148024 0,-0.63524 0.512784,-1.148024 1.148023,-1.148024 0.63524,0 1.148024,0.512784 1.148024,1.148024 0,0.63524 -0.512784,1.148024 -1.148024,1.148024 z"
|
||||
id="path14"
|
||||
inkscape:connector-curvature="0"
|
||||
style="stroke-width:0.76534903" />
|
||||
<path
|
||||
style="fill:none"
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 0,0 H 24 V 24 H 0 Z"
|
||||
id="path16" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="M 13.208696,20.997167 9.6183022,17.406774 8.3956743,18.620792 13.208696,23.433813 23.540763,13.101746 22.326745,11.887728 Z"
|
||||
id="path16-3"
|
||||
style="stroke-width:0.8610056" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.1 KiB |
|
@ -208,7 +208,8 @@ export const restoreDataStorage = () => {
|
|||
showRIL100Names: false,
|
||||
writeDebugLog: false,
|
||||
enableCanvas: false,
|
||||
language: language
|
||||
language: language,
|
||||
travelynx: fase
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
import { dataStorage } from './app.js';
|
||||
import { showDiv, hideDiv, ElementById, parseDateTime, formatDuration } from './helpers.js';
|
||||
import { getCache, addCache, ConsoleLog, parseName, ds100Names, t } from './app_functions.js';
|
||||
import { showModal } from './overlays.js';
|
||||
|
@ -21,7 +22,7 @@ const remarksModalTemplate = (type, remarks) => html`
|
|||
`;
|
||||
|
||||
const showRemarksModal = (type, remarks) => {
|
||||
showModal("Remarks", remarksModalTemplate(type, remarks));
|
||||
showModal(t('remarks'), remarksModalTemplate(type, remarks));
|
||||
};
|
||||
const remarksTemplate = ([type, remarks]) => !!remarks.length ? html`
|
||||
<a class="showremarks ${type}" @click=${() => showRemarksModal(type, remarks)}></a>
|
||||
|
@ -49,6 +50,7 @@ const legTemplate = (element) => {
|
|||
<td colspan="4">
|
||||
${element.line.name} ${element.line.additionalName ? '('+element.line.additionalName+')' : ''} → ${element.direction} ${element.cancelled ? html`<b style="color:red;">${t('cancelled-ride')}</b>` : ''}
|
||||
${Object.entries(remarks).map(remarksTemplate)}
|
||||
${dataStorage.settings.travelynx && element.line.mode == 'Train' ? html`<a class="travelynx" href="https://travelynx.de/s/${element.departure.point.stop.id}?train=${element.line.additionalName}"></a>` : ''}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
|
@ -45,8 +45,11 @@ export const languages = {
|
|||
'language': 'Sprache',
|
||||
'de': 'Deutsch',
|
||||
'en': 'Englisch',
|
||||
'cancelled-ride': 'Fahrt entfällt!'
|
||||
'cancelled-ride': 'Fahrt entfällt!',
|
||||
'remarks': 'Hinweise',
|
||||
'travelynx-checkin': 'Travelynx checkin anzeigen?'
|
||||
},
|
||||
|
||||
'en': {
|
||||
'arrival': 'Arrival',
|
||||
'departure': 'Departure',
|
||||
|
@ -93,6 +96,8 @@ export const languages = {
|
|||
'language': 'Language',
|
||||
'de': 'German',
|
||||
'en': 'English',
|
||||
'cancelled-ride': 'Cancelled!'
|
||||
'cancelled-ride': 'Cancelled!',
|
||||
'remarks': 'Remarks',
|
||||
'travelynx-checkin': 'show travelynx checkin?'
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ const settingsTemplate = () => html`
|
|||
<label><input type="checkbox" ?checked=${dataStorage.settings.writeDebugLog} id="debug-messages"> ${t('showdebug')}</label><br>
|
||||
<label><input type="checkbox" ?checked=${dataStorage.settings.enableCanvas} id="enable-canvas"> ${t('graphical')} <b>BETA</b></label><br>
|
||||
<label><input type="checkbox" ?checked=${dataStorage.settings.fancyCanvas} id="fancy-canvas"> ${t('fancy')}<label><br>
|
||||
<label><input type="checkbox" ?checked=${dataStorage.settings.travelynx} id="travelynx"> ${t('travelynx-checkin')}<label><br>
|
||||
<br>
|
||||
<b>${t('language')}:</b><br>
|
||||
<label><input type="radio" name="language" ?checked=${dataStorage.settings.language === "de"} value="de"> ${t('de')}</label><br>
|
||||
|
@ -52,7 +53,8 @@ const saveSettings = async () => {
|
|||
const show_ril100 = ElementById('ril100').checked;
|
||||
const write_debug = ElementById('debug-messages').checked;
|
||||
const enable_canvas = ElementById('enable-canvas').checked;
|
||||
const fancy_canvas = ElementById('fancy-canvas').checked;
|
||||
const fancy_canvas = ElementById('fancy-canvas').checked;
|
||||
const travelynx = ElementById('travelynx').checked;
|
||||
|
||||
if (provider !== dataStorage.settings.provider) {
|
||||
dataStorage.journeysHistory = [];
|
||||
|
@ -65,6 +67,7 @@ const saveSettings = async () => {
|
|||
dataStorage.settings.enableCanvas = enable_canvas;
|
||||
dataStorage.settings.fancyCanvas = fancy_canvas;
|
||||
dataStorage.settings.language = language;
|
||||
dataStorage.settings.travelynx = travelynx;
|
||||
|
||||
saveDataStorage();
|
||||
if (show_ril100) await loadDS100();
|
||||
|
|
Loading…
Reference in a new issue