{#snippet renderLocalTime( time: Date, forceAbsolute = false )}{#await localTime(time, forceAbsolute, now)}{isRelativeTime && !forceAbsolute ? timeRelative(time.getTime(), now) : time.getUTCHours() + ':' + time.getUTCMinutes() + (time.getUTCSeconds() !== 0 ? `:${time.getUTCSeconds()}` : '') + ' UTC'}{:then t}{t}{/await}{/snippet} {#if stopTimes} {#each stopTimes.stopTimes // garbage data .filter((v) => !blacklistedAgencyURLs.includes(v.agencyUrl)) as departure} {@const expectedTime = new Date( (isArrivals ? departure.place.scheduledArrival : departure.place.scheduledDeparture) ?? '0' ).getTime() / 1000 / 60} {@const receivedTime = new Date( (isArrivals ? departure.place.arrival : departure.place.departure) ?? '0' ).getTime() / 1000 / 60} {@const delayMinutes = receivedTime - expectedTime} {@const routeShortName = stopTimeToShortName(departure)} {@const pictogram = getPictogram(departure.mode)} {@const notices = getNotices(departure, delayMinutes, isArrivals)} {@const situationIsBad = notices.find((v) => v[0].includes('Attention'))}
{#each m .no_results_body({ stationName: placeName ?? placeId }) .split('*') as part, idx}{#if idx % 2 === 0}{part}{:else}{part}{/if}{/each}
{m.welcome_body_1()}