From 3ac8d60c5cd7de23f7ef40d0e668821e96d677d3 Mon Sep 17 00:00:00 2001 From: Spythere Date: Sun, 11 Feb 2024 15:30:19 +0100 Subject: [PATCH] filtry aktywnych RJ --- src/scripts/utils/filterUtils.ts | 25 ++++++++++++++++++++----- src/store/utils.ts | 1 - 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/scripts/utils/filterUtils.ts b/src/scripts/utils/filterUtils.ts index e26738f..9033ffc 100644 --- a/src/scripts/utils/filterUtils.ts +++ b/src/scripts/utils/filterUtils.ts @@ -96,7 +96,7 @@ export const filterStations = (station: Station, filters: Filter) => { if (filters['free'] && (!station.onlineInfo || station.onlineInfo.dispatcherId == -1)) return false; - if (station.onlineInfo && station.onlineInfo.dispatcherId != -1) { + if (station.onlineInfo) { const { dispatcherStatus } = station.onlineInfo; const excludeEnding = @@ -112,12 +112,21 @@ export const filterStations = (station: Station, filters: Filter) => { const excludeNoSpace = dispatcherStatus == Status.ActiveDispatcher.NO_SPACE && filters['noSpaceStatus']; - const excludeOccupied = station.onlineInfo && filters['occupied']; + const excludeOccupied = filters['occupied'] && dispatcherStatus != Status.ActiveDispatcher.FREE; - // const isActiveFree = - // dispatcherStatus == Status.ActiveDispatcher.FREE && filters['withActiveTimetables']; + const excludeActiveTTs = + (dispatcherStatus == Status.ActiveDispatcher.FREE || + station.onlineInfo.scheduledTrainCount.all != 0) && + filters['withActiveTimetables']; - if (excludeEnding || excludeAFK || excludeNoSpace || excludeNotSigned || excludeOccupied) + if ( + excludeEnding || + excludeAFK || + excludeNoSpace || + excludeNotSigned || + excludeOccupied || + excludeActiveTTs + ) return false; if ( @@ -127,6 +136,12 @@ export const filterStations = (station: Station, filters: Filter) => { return false; } + const excludeNoActiveTTs = + filters['withoutActiveTimetables'] && + (!station.onlineInfo || station.onlineInfo.scheduledTrainCount.all == 0); + + if (excludeNoActiveTTs) return false; + if ( (station.generalInfo?.availability == 'nonPublic' || !station.generalInfo) && filters['nonPublic'] diff --git a/src/store/utils.ts b/src/store/utils.ts index b1db41c..7f29fcf 100644 --- a/src/store/utils.ts +++ b/src/store/utils.ts @@ -1,6 +1,5 @@ import Station from '../scripts/interfaces/Station'; import Train from '../scripts/interfaces/Train'; -import { API } from '../typings/api'; import { ScheduledTrain, StationTrain, StopStatus, TrainStop } from './typings'; export function getLocoURL(locoType: string): string {