ctucx.git: trainsearch

web based trip-planner, fork of https://cyberchaos.dev/yuka/trainsearch

commit cc073ed8d424ddfdf85644a969fadcaf2c9c6c63
parent bbfeeb681f1aeba2268430fd0119aefc4ddac946
Author: Yureka <yuka@yuka.dev>
Date: Mon, 23 Dec 2024 12:13:44 +0100

fix modals
1 file changed, 38 insertions(+), 0 deletions(-)
A
src/templates.js
|
38
++++++++++++++++++++++++++++++++++++++
diff --git a/src/templates.js b/src/templates.js
@@ -0,0 +1,38 @@
+import { lineAdditionalName } from './helpers.js';
+import { showModal } from './overlays.js';
+import { html } from 'lit-html';
+import { settings } from './settings.js';
+import { t } from './app_functions.js';
+
+export const remarksModalTemplate = (type, remarks) => html`
+	<table class="remarks">
+		${remarks.map(element => html`
+			<tr>
+			<td>
+				<span class="remark icon-${type}"></span>
+				<span>${element.text}</span>
+			</td>
+			</tr>
+		`)}
+	</table>
+`;
+
+export const travelynxTemplate = (element) => {
+	if (settings.travelynx && element.line && element.line.mode === 'train') {
+		const trainName = lineAdditionalName(element.line) || element.line?.name;
+
+		if (trainName) {
+			return html`
+				<a class="link icon-travelynx" href="https://travelynx.de/s/${element.origin.id}?train=${encodeURIComponent(trainName)}"></a>
+			`;
+		}
+	}
+};
+
+export const showRemarksModal = (type, remarks) => {
+	showModal(t('remarks'), remarksModalTemplate(type, remarks));
+};
+export const remarksTemplate = ([type, remarks]) => !!remarks.length ? html`
+	<a class="link icon-${type}" @click=${() => showRemarksModal(type, remarks)}></a>
+` : '';
+