diff --git a/components/ActionSheetComponents/EachTrainInfoCore.js b/components/ActionSheetComponents/EachTrainInfoCore.js index 13ae3b2..e30f5a3 100644 --- a/components/ActionSheetComponents/EachTrainInfoCore.js +++ b/components/ActionSheetComponents/EachTrainInfoCore.js @@ -72,6 +72,10 @@ export const EachTrainInfoCore = ({ const [trainPositionSwitch, setTrainPositionSwitch] = useState("false"); const [currentPosition, setCurrentPosition] = useState([]); const [trainData, setTrainData] = useState([]); + const scrollHandlers = actionSheetRef + ? useScrollHandlers("scrollview-1", actionSheetRef) + : null; + const stationList = originalStationList && lineList.map((d) => @@ -81,6 +85,11 @@ export const EachTrainInfoCore = ({ })) ); + // 使用例 + const points = + trainPositionSwitch == "true" + ? findReversalPoints(currentPosition, stopStationIDList) + : []; const stopStationIDList = trainData.map((i, index) => { const [station, se, time] = i.split(","); const Stations = stationList.map((a) => @@ -95,10 +104,31 @@ export const EachTrainInfoCore = ({ .map((d) => d.StationNumber); return StationNumbers[0]; }); + + const { height, width } = useWindowDimensions(); + const [isLandscape, setIsLandscape] = useState(false); + + const [trueTrainID, setTrueTrainID] = useState(); useEffect(() => { + if (!data.trainNum) return; + const TD = trainList[data.trainNum]; + if (!TD) { + const specialTrainActualID = searchSpecialTrain(data.trainNum, trainList); + setTrueTrainID(specialTrainActualID || undefined); + setTrainData([]); + return; + } + setTrainData(TD.split("#").filter((d) => d != "")); + }, [data]); + //裏列車探索 + useEffect(() => { + if (!data.trainNum) return; + const [returnArray, TDArray] = getInfluencedTrainData(data.trainNum); + setNearTrainIDList(returnArray); + setShowNearTrain(TDArray); if (trainData.length == 0) return; - if (showNearTrain.length == 0) return; - showNearTrain.forEach((d) => { + if (TDArray.length == 0) return; + TDArray.forEach((d) => { const [station, se, time] = d.split(","); if (station == trainData[0].split(",")[0]) @@ -106,25 +136,8 @@ export const EachTrainInfoCore = ({ if (station == trainData[trainData.length - 1].split(",")[0]) setTailStation(trainData[trainData.length - 1].split(",")[0]); }); - }, [trainData, showNearTrain]); - //裏列車探索 - useEffect(() => { - if (!data.trainNum) return; - const [returnArray, TDArray] = getInfluencedTrainData(data.trainNum); - setNearTrainIDList(returnArray); - setShowNearTrain(TDArray); - }, [data]); - const scrollHandlers = actionSheetRef - ? useScrollHandlers("scrollview-1", actionSheetRef) - : null; + }, [trainData, data]); - // 使用例 - const points = - trainPositionSwitch == "true" - ? findReversalPoints(currentPosition, stopStationIDList) - : []; - const { height, width } = useWindowDimensions(); - const [isLandscape, setIsLandscape] = useState(false); useEffect(() => { //currentTrainData.Pos = "鴨川~端岡"; //test if (!currentTrainData) return; @@ -141,6 +154,7 @@ export const EachTrainInfoCore = ({ setCurrentPosition([getStationData(currentTrainData?.Pos, stationList)]); } }, [currentTrainData]); + useEffect(() => { if (height / width > 1.5) { setIsLandscape(false); @@ -149,35 +163,18 @@ export const EachTrainInfoCore = ({ setIsLandscape(true); } }, [width, height]); - const [trueTrainID, setTrueTrainID] = useState(); - useEffect(() => { - if (!data.trainNum) return; - const TD = trainList[data.trainNum]; - if (!TD) { - const specialTrainActualID = searchSpecialTrain(data.trainNum, trainList); - if (specialTrainActualID) setTrueTrainID(specialTrainActualID); - setTrainData([]); - return; - } - setTrainData(TD.split("#").filter((d) => d != "")); - }, [data]); + const replaceSpecialTrainDetail = (trainNum) => { let TD = trainList[trainNum]; - - if (TD) { - setTrainData(TD.split("#").filter((d) => d != "")); - return; - } + if (!TD) return; + setTrainData(TD.split("#").filter((d) => d != "")); }; useEffect(() => { //列車現在地アイコン表示スイッチ AS.getItem("trainPositionSwitch") .then((d) => { - if (d) { - setTrainPositionSwitch(d); - } else { - } + if (d) setTrainPositionSwitch(d); }) .catch((d) => AS.setItem("trainPositionSwitch", "false")); }, []);