Add files via upload

This commit is contained in:
Serverlele30 authored and GitHub committed 2026-08-31 11:52:20 +02:00
1 parent 90ffa5b0ca
commit 05bae700ec
2 files changed
+51 -5

No files matched your search

+29
View File
@@ -198,9 +198,37 @@ const TripAlarm = (() => {
`;
document.body.appendChild(banner);
banner.querySelector('#trip-alarm-banner__cancel').addEventListener('click', clear);
// Position hängt vom tatsächlich gerenderten Header ab (unterscheidet
// sich zwischen Mobile/Desktop und wird nicht über CSS-Breakpoint-Werte
// geraten, sondern - wie schon bei der Live-Karte - direkt gemessen),
// damit das Banner den Header/die Suche nie verdeckt, egal auf welcher
// Displaygröße oder welchem Tab (z.B. auch über der jetzt display-breiten
// Live-Karte) es gerade erscheint.
window.addEventListener('resize', schedulePositionBanner);
window.addEventListener('orientationchange', schedulePositionBanner);
return banner;
}
let positionScheduled = false;
function schedulePositionBanner() {
if (positionScheduled) return;
positionScheduled = true;
requestAnimationFrame(() => {
positionScheduled = false;
positionBanner();
});
}
function positionBanner() {
const banner = document.getElementById('trip-alarm-banner');
if (!banner) return;
const header = document.querySelector('.app-header');
const headerBottom = header ? header.getBoundingClientRect().bottom : 0;
banner.style.top = `${Math.max(12, Math.round(headerBottom + 8))}px`;
}
function renderBanner(stopsRemaining) {
if (!alarm) return;
const banner = ensureBanner();
@@ -209,6 +237,7 @@ const TripAlarm = (() => {
textEl.textContent = stopsRemaining == null
? `Fahrtalarm gesetzt für ${alarm.targetName}`
: `${line}Fahrtalarm: noch ${stopsRemaining} Station${stopsRemaining === 1 ? '' : 'en'} bis ${alarm.targetName}`;
positionBanner();
banner.classList.add('is-visible');
}