mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 05:18:11 +00:00
Naprawiono błąd z filtrowaniem pociągów
This commit is contained in:
@@ -42,6 +42,14 @@ const currentDelay = (stops: TrainStop[] | undefined) => {
|
|||||||
return delay;
|
return delay;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function filterTrainList(trainList: Train[], searchedTrain: string, searchedDriver: string) {
|
||||||
|
return trainList.filter(
|
||||||
|
(train) =>
|
||||||
|
(searchedTrain.length > 0 ? train.trainNo.toString().startsWith(searchedTrain) : true) &&
|
||||||
|
(searchedDriver.length > 0 ? train.driverName.toLowerCase().startsWith(searchedDriver.toLowerCase()) : true)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
function sortTrainList(trainList: Train[], sorterActive: { id: string; dir: number }) {
|
function sortTrainList(trainList: Train[], sorterActive: { id: string; dir: number }) {
|
||||||
return trainList.sort((a: Train, b: Train) => {
|
return trainList.sort((a: Train, b: Train) => {
|
||||||
switch (sorterActive.id) {
|
switch (sorterActive.id) {
|
||||||
@@ -95,14 +103,11 @@ const filteredTrainList = (
|
|||||||
) => {
|
) => {
|
||||||
let finalTrainList: Train[] = [];
|
let finalTrainList: Train[] = [];
|
||||||
|
|
||||||
|
const filtered = filterTrainList(trainList, searchedTrain, searchedDriver);
|
||||||
|
|
||||||
switch (sorterActive.id) {
|
switch (sorterActive.id) {
|
||||||
case 'comments':
|
case 'comments':
|
||||||
const trainsSortedByComments = trainList
|
const trainsSortedByComments = filtered
|
||||||
.filter(
|
|
||||||
(train) =>
|
|
||||||
(searchedTrain.length > 0 ? train.trainNo.toString().startsWith(searchedTrain) : true) &&
|
|
||||||
(searchedDriver.length > 0 ? train.driverName.toLowerCase().startsWith(searchedDriver.toLowerCase()) : true)
|
|
||||||
)
|
|
||||||
.sort((a, b) => {
|
.sort((a, b) => {
|
||||||
const commentsA = a.timetableData?.followingStops.some((s) => s.comments) ? 1 : 0;
|
const commentsA = a.timetableData?.followingStops.some((s) => s.comments) ? 1 : 0;
|
||||||
const commentsB = b.timetableData?.followingStops.some((s) => s.comments) ? 1 : 0;
|
const commentsB = b.timetableData?.followingStops.some((s) => s.comments) ? 1 : 0;
|
||||||
@@ -121,7 +126,7 @@ const filteredTrainList = (
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
finalTrainList.push(...sortTrainList(trainList, sorterActive));
|
finalTrainList.push(...sortTrainList(filtered, sorterActive));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user