From d4ddaeb17ee7ed292efe0715f4e3c14d0bfde9d2 Mon Sep 17 00:00:00 2001 From: harukin-OneMix4 Date: Fri, 2 Feb 2024 02:32:26 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B9=E3=83=AF=E3=82=A4=E3=83=97=E3=82=92?= =?UTF-8?q?=E3=82=84=E3=82=81=E3=81=A6=E3=83=9C=E3=82=BF=E3=83=B3=E3=82=92?= =?UTF-8?q?=E6=8A=BC=E3=81=97=E3=81=A6=E6=8B=A1=E5=BC=B5=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ActionSheetComponents/EachTrainInfo.js | 247 +++++++++--------- 1 file changed, 130 insertions(+), 117 deletions(-) diff --git a/components/ActionSheetComponents/EachTrainInfo.js b/components/ActionSheetComponents/EachTrainInfo.js index 84868d7..aeeb7ed 100644 --- a/components/ActionSheetComponents/EachTrainInfo.js +++ b/components/ActionSheetComponents/EachTrainInfo.js @@ -54,6 +54,8 @@ export const EachTrainInfo = (props) => { const [nearTrainIDList, setNearTrainIDList] = useState([]); const [showNearTrain, setShowNearTrain] = useState([]); const [isConcatNear, setIsConcatNear] = useState(false); + const [tailStation, setTailStation] = useState(); + const [headStation, setHeadStation] = useState(); //裏列車探索 useEffect(() => { @@ -85,10 +87,22 @@ export const EachTrainInfo = (props) => { const TDArray = TD.split("#").filter((d) => d != ""); setShowNearTrain(TDArray); }, [data]); + useEffect(() => { + if (trainData.length == 0) return; + showNearTrain.forEach((d) => { + const [station, se, time] = d.split(","); + + console.log(trainData); //trainDataは現在の列車の停車駅リスト + console.log(station); //showNearTrainは裏列車の停車駅リスト + console.log(trainData[0]); + if (station == trainData[0].split(",")[0]) + setHeadStation(trainData[0].split(",")[0]); + if (station == trainData[trainData.length - 1].split(",")[0]) + setTailStation(trainData[trainData.length - 1].split(",")[0]); + }); + }, [trainData, showNearTrain]); const openBackTrainInfo = (stationInfo, currentTrainIndex) => { - console.log(trainData); //trainDataは現在の列車の停車駅リスト - console.log(showNearTrain); //showNearTrainは裏列車の停車駅リスト const mainTrainStationPosition = trainData.findIndex( (d) => d.split(",")[0] == stationInfo ); @@ -98,7 +112,6 @@ export const EachTrainInfo = (props) => { : mainTrainStationPosition == trainData.length - 1 ? "tail" : "middle"; - console.log(relationMain); const subTrainStationPosition = showNearTrain.findIndex( (d) => d.split(",")[0] == stationInfo @@ -109,7 +122,6 @@ export const EachTrainInfo = (props) => { : subTrainStationPosition == showNearTrain.length - 1 ? "tail" : "middle"; - console.log(relationSub); switch (relationMain) { case "head": if (relationSub == "head") { @@ -622,6 +634,13 @@ export const EachTrainInfo = (props) => { backgroundColor: "white", }} > + {headStation && !isConcatNear && ( + openBackTrainInfo(headStation)}> + + 直通列車を表示 + + + )} {/* { /> ほげほげふがふが */} - {trainData.map((i, index) => (i.split(",")[1] == "提" ? : - d.split(",")[0])} - openBackTrainInfo={openBackTrainInfo} - isConcatNear={isConcatNear} - /> - ))} + {trainData.map((i, index) => + i.split(",")[1] == "提" ? ( + + ) : ( + d.split(",")[0])} + openBackTrainInfo={openBackTrainInfo} + isConcatNear={isConcatNear} + /> + ) + )} + {tailStation && !isConcatNear && ( + openBackTrainInfo(tailStation)}> + + 直通列車を表示 + + + )} { ); }; -const DataFromButton = ({i}) => { +const DataFromButton = ({ i }) => { const [station, se, time] = i.split(","); return ( { {station} - 提供元 + 提供元 + - ); -} +}; const StationButton = ({ i, @@ -744,114 +778,93 @@ const StationButton = ({ ); const swipagleRef = useRef(null); return ( - openStationACFromEachTrainInfo(station)} key={station} - onSwipeableOpen={() => { - openBackTrainInfo(station, index); - swipagleRef.current.close(); - }} - renderRightActions={ - isConnected && !isConcatNear - ? (progress, dragX) => { - //openBackTrainInfo(station, index); - return ; - } - : null - } > - openStationACFromEachTrainInfo(station)} - key={station} - > - - - {lineIDs.map((lineID, index) => ( - + + {lineIDs.map((lineID, index) => ( + + + - - - {lineIDs[index]} - {"\n"} - {EachIDs[index]} - - - - ))} - - - {station} - - {points && points.findIndex((d) => d == index) >= 0 ? ( - 🚊 - ) : null} - {!isNaN(currentTrainData?.delay) && - currentTrainData?.delay != 0 && ( - - {time} - - )} + {lineIDs[index]} + {"\n"} + {EachIDs[index]} + + + + ))} + + + {station} + + {points && points.findIndex((d) => d == index) >= 0 ? ( + 🚊 + ) : null} + {!isNaN(currentTrainData?.delay) && currentTrainData?.delay != 0 && ( - {timeString[0]}:{timeString[1]} + {time} - - {se?.replace("発", "出発").replace("着", "到着")} - - + )} + + {timeString[0]}:{timeString[1]} + + + {se?.replace("発", "出発").replace("着", "到着")} + - - + + ); };