diff --git a/components/ActionSheetComponents/EachTrainInfo.js b/components/ActionSheetComponents/EachTrainInfo.js
index 2ab7cc5..d906cf1 100644
--- a/components/ActionSheetComponents/EachTrainInfo.js
+++ b/components/ActionSheetComponents/EachTrainInfo.js
@@ -46,7 +46,9 @@ export const EachTrainInfo = ({
//data.trainData.Pos = "鴨川~端岡"; //test
if (!data.trainData?.Pos) return;
if (data.trainData?.Pos.match("~")) {
- const pos = data.trainData?.Pos.split("~");
+ const pos = data.trainData?.Pos.replace("(下り)", "")
+ .replace("(上り)", "")
+ .split("~");
setCurrentPosition([getStationData(pos[0]), getStationData(pos[1])]);
} else {
setCurrentPosition([getStationData(data.trainData?.Pos)]);
@@ -75,11 +77,66 @@ export const EachTrainInfo = ({
.map((d) => d.StationNumber);
return StationNumbers[0];
});
- console.log(
- currentPosition.map((d) => {
- return stopStationIDList.indexOf(d);
- })
- );
+ function findReversalPoints(array) {
+ let reversalPoints = [];
+
+ for (let i = 0; i < stopStationIDList.length; i++) {
+ if (array.length == 1) {
+ console.log(stopStationIDList[i], array[0]);
+ if (stopStationIDList[i] == array[0]) {
+ reversalPoints.push(i);
+ } else if (
+ stopStationIDList[i] > array[0] &&
+ stopStationIDList[i + 1] < array[0]
+ ) {
+ reversalPoints.push(i + 1);
+ }
+ } else {
+ if (
+ stopStationIDList[i] == array[0] &&
+ stopStationIDList[i + 1] == array[1]
+ ) {
+ reversalPoints.push(i + 1);
+ } else if (
+ stopStationIDList[i] == array[1] &&
+ stopStationIDList[i + 1] == array[0]
+ ) {
+ reversalPoints.push(i + 1);
+ } else if (
+ array[0] < stopStationIDList[i] &&
+ stopStationIDList[i] < array[1]
+ ) {
+ reversalPoints.push(i);
+ } else if (
+ array[1] < stopStationIDList[i] &&
+ stopStationIDList[i] < array[0]
+ ) {
+ reversalPoints.push(i);
+ } else if (
+ stopStationIDList[i + 1] < array[0] &&
+ stopStationIDList[i + 1] < array[1] &&
+ stopStationIDList[i] > array[0] &&
+ stopStationIDList[i] > array[1]
+ ) {
+ reversalPoints.push(i + 1);
+ } else if (
+ stopStationIDList[i + 1] > array[0] &&
+ stopStationIDList[i + 1] > array[1] &&
+ stopStationIDList[i] < array[0] &&
+ stopStationIDList[i] < array[1]
+ ) {
+ reversalPoints.push(i + 1);
+ }
+ }
+ }
+
+ return reversalPoints;
+ }
+
+ // 使用例
+ const points = findReversalPoints(currentPosition);
+ console.log(currentPosition, points);
+ console.log(currentPosition.length, points.length);
useEffect(() => {
console.log(data);
@@ -104,7 +161,9 @@ export const EachTrainInfo = ({
};
const migrateTrainName = (string) => {
- return string.replace("マリン", "マリンライナー");
+ return string
+ .replace("マリン", "マリンライナー")
+ .replace("ライナーライナー", "ライナー");
};
return (
@@ -191,7 +250,11 @@ export const EachTrainInfo = ({
textAlign: "right",
}}
>
- {data.trainData?.Pos.split("~")[0]}
+ {
+ data.trainData?.Pos.replace("(下り)", "")
+ .replace("(上り)", "")
+ .split("~")[0]
+ }
~
- {data.trainData?.Pos.split("~")[1]}
+ {
+ data.trainData?.Pos.replace("(下り)", "")
+ .replace("(上り)", "")
+ .split("~")[1]
+ }
>
) : (
@@ -378,6 +445,7 @@ export const EachTrainInfo = ({
? "にゃーん"
: "ほげ")}
{currentPosition} */}
+ {points.includes(index) ? "🚉" : ""}
{time} {se}