commit cc073ed8d424ddfdf85644a969fadcaf2c9c6c63
parent bbfeeb681f1aeba2268430fd0119aefc4ddac946
Author: Yureka <yuka@yuka.dev>
Date: Mon, 23 Dec 2024 12:13:44 +0100
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(-)
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> +` : ''; +