+ {state.newsLoading
+ ?
+ : state.newsError
+ ?
{state.newsError?.message}
+ : <>
+
+ {state.news?.slice((newsCurrentPage - 1) * perPage, newsCurrentPage * perPage)
+ .map(article =>
)}
+ >}
+
}
diff --git a/src/containers/TrainSchedule.tsx b/src/containers/TrainSchedule.tsx
index 7c7d84c..eaaf814 100644
--- a/src/containers/TrainSchedule.tsx
+++ b/src/containers/TrainSchedule.tsx
@@ -1,4 +1,3 @@
-import styled from 'styled-components';
import { type Dispatch } from 'react';
import {
@@ -8,17 +7,40 @@ import {
import { Departure } from '../components';
import { NowTime } from '../components/NowTime';
+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;
+ }
type TrainScheduleProps = {
dispatch: Dispatch