feat: RSS feed and config
Some checks failed
Playwright Tests / test (push) Has been cancelled

This commit is contained in:
Loic Coenen
2025-11-02 20:36:07 +01:00
parent 9e872ea8d9
commit 77113c83e2
23 changed files with 1006 additions and 443 deletions

View File

@@ -11,17 +11,15 @@ import { SpinnerDiamond } from 'spinners-react';
import type { DepartureType } from '../types/liveboard';
import { Indicator } from '../components/Indicators';
const showTrainsMinutes = 120;
export const filterTrainHour = (delay: number) => (departure: DepartureType) => {
const time = new Date(parseInt(departure.time) * 1000);
const now = new Date();
const h = time.getHours();
const m = time.getMinutes();
const nowInMinutes = (now.getHours() * 60) + now.getMinutes();
const minutes = h * 60 + m;
return (nowInMinutes + delay) > minutes;
}
export const filterTrainHour = (delay: number, start: number = 0) => (departure: DepartureType) => {
const time = new Date(parseInt(departure.time) * 1000);
const now = new Date();
const h = time.getHours();
const m = time.getMinutes();
const nowInMinutes = (now.getHours() * 60) + now.getMinutes();
const minutes = h * 60 + m;
return (nowInMinutes + delay) > minutes && (nowInMinutes + start ) < minutes;;
}
type TrainScheduleProps = {
dispatch: Dispatch<Action>,
@@ -30,7 +28,7 @@ type TrainScheduleProps = {
export const TrainSchedule = ({ state } : TrainScheduleProps) => {
const filteredDepartures = state.departures?.filter(filterTrainHour(showTrainsMinutes))
const filteredDepartures = state.departures?.filter(filterTrainHour(state.config.trainScheduleShow))
return <>
<NowTime />