diff --git a/components/ActionSheetComponents/EachTrainInfo.js b/components/ActionSheetComponents/EachTrainInfo.js index 75ac54f..013b455 100644 --- a/components/ActionSheetComponents/EachTrainInfo.js +++ b/components/ActionSheetComponents/EachTrainInfo.js @@ -38,7 +38,6 @@ export const EachTrainInfo = (props) => { from, } = props.payload; const [trainData, setTrainData] = useState([]); - const [isTop, setIsTop] = useState(true); const [currentPosition, setCurrentPosition] = useState([]); const [trainPositionSwitch, setTrainPositionSwitch] = useState("false"); @@ -66,7 +65,7 @@ export const EachTrainInfo = (props) => { }) .catch((d) => AS.setItem("trainPositionSwitch", "false")); }, []); - const insets = useSafeAreaInsets(); + //bconst insets = useSafeAreaInsets(); const getStationData = (stationName) => { const Stations = stationList.map((a) => a.filter((d) => d.StationName == stationName) @@ -232,7 +231,6 @@ export const EachTrainInfo = (props) => { trainPositionSwitch == "true" ? findReversalPoints(currentPosition) : []; useEffect(() => { - setIsTop(true); if (!data.trainNum) return; const TD = trainList[data.trainNum]; if (!TD) { @@ -261,7 +259,7 @@ export const EachTrainInfo = (props) => { const scrollHandlers = useScrollHandlers("scrollview-1", actionSheetRef); return ( } ref={actionSheetRef} drawUnderStatusBar={false} @@ -336,72 +334,66 @@ export const EachTrainInfo = (props) => { horizontal pagingEnabled > - + {/* - - - 現在地 {currentPosition.toString()} - - - {currentTrainData?.Pos && currentTrainData?.Pos.match("~") ? ( - <> - - { - currentTrainData?.Pos.replace("(下り)", "") - .replace("(上り)", "") - .split("~")[0] - } - - - ~ - - - { - currentTrainData?.Pos.replace("(下り)", "") - .replace("(上り)", "") - .split("~")[1] - } - - - ) : ( + + + 行先 + - {currentTrainData?.Pos} + 岡山 - )} + + + + + 車両案内 + + + + 宇多津でうずしお号と連結 + + - + { }} > - {isNaN(currentTrainData?.delay) ? "状態" : "遅延時分"} + 編成(使用車両:2700系) - {currentTrainData?.delay} - {isNaN(currentTrainData?.delay) ? "" : "分"} - - - - 列番 - - {currentTrainData?.num} + {"[<自][自>][アン自|指>][アン指|G>]"} - - {/* - - - 行先 - - - 岡山 - - - - - 車両案内 - - - 宇多津でうずしお号と連結 - - - - - - - 編成(使用車両:2700系) - - - - {"[<自][自>][アン自|指>][アン指|G>]"} - - - - */} + */} )} { maxHeight: heightPercentageToDP( from == "AllTrainDiagramView" ? "70%" : "50%" ), - }} - onScroll={(e) => { - if (!Platform.OS !== "android") return; - setIsTop(e.nativeEvent.contentOffset.y < 0); + backgroundColor: "white", }} > - - {/* { /> ほげほげふがふが */} - {trainData.map((i, index) => { - const [station, se, time] = i.split(","); - const Stations = stationList.map((a) => - a.filter((d) => d.StationName == station) - ); - const StationNumbers = - Stations && - Stations.reduce((newArray, e) => { - return newArray.concat(e); - }, []) - .filter((d) => d.StationNumber) - .map((d) => d.StationNumber); + {trainData.map((i, index) => ( + + ))} - const colorIDs = - StationNumbers != null - ? StationNumbers.map((d) => { - return d.split("").filter((s) => "A" < s && s < "Z"); - }).reduce((newArray, e) => { - return newArray.concat(e); - }, []) - : []; - const EachIDs = - StationNumbers != null - ? StationNumbers.map((d) => { - return d - .split("") - .filter((s) => "0" <= s && s <= "9") - .join(""); - }) - : []; - const date = new Date(); - if (time) { - date.setHours(time.split(":")[0], time.split(":")[1]); - } - if (!isNaN(currentTrainData?.delay)) { - date.setMinutes(date.getMinutes() + currentTrainData?.delay); - } - const timeString = date.toTimeString().split(" ")[0].split(":"); - return ( - openStationACFromEachTrainInfo(station)} - key={station} - > - - - {colorIDs.map((color, index) => ( - - - - {colorIDs[index]} - - - {EachIDs[index]} - - - - ))} - - - {station} - - {points && points.findIndex((d) => d == index) >= 0 ? ( - - 🚊 - - ) : null} - {!isNaN(currentTrainData?.delay) && - currentTrainData?.delay != 0 && ( - - {time} - - )} - - {timeString[0]}:{timeString[1]} - - - {se?.replace("発", "出発").replace("着", "到着")} - - - - - ); - })} - - - - - - + + + + @@ -766,3 +519,224 @@ export const EachTrainInfo = (props) => { ); }; + +const StationButton = ({ + i, + index, + stationList, + points, + currentTrainData, + openStationACFromEachTrainInfo, +}) => { + const [station, se, time] = i.split(","); + const Stations = stationList.map((a) => + a.filter((d) => d.StationName == station) + ); + const StationNumbers = + Stations && + Stations.reduce((newArray, e) => { + return newArray.concat(e); + }, []) + .filter((d) => d.StationNumber) + .map((d) => d.StationNumber); + + const colorIDs = + StationNumbers != null + ? StationNumbers.map((d) => { + return d.split("").filter((s) => "A" < s && s < "Z"); + }).reduce((newArray, e) => { + return newArray.concat(e); + }, []) + : []; + const EachIDs = + StationNumbers != null + ? StationNumbers.map((d) => { + return d + .split("") + .filter((s) => "0" <= s && s <= "9") + .join(""); + }) + : []; + const date = new Date(); + if (time) { + date.setHours(time.split(":")[0], time.split(":")[1]); + } + if (!isNaN(currentTrainData?.delay)) { + date.setMinutes(date.getMinutes() + currentTrainData?.delay); + } + + const timeString = date.toTimeString().split(" ")[0].split(":"); + return ( + openStationACFromEachTrainInfo(station)} + key={station} + > + + + {colorIDs.map((color, index) => ( + + + + {colorIDs[index]} + + + {EachIDs[index]} + + + + ))} + + + {station} + + {points && points.findIndex((d) => d == index) >= 0 ? ( + + 🚊 + + ) : null} + {!isNaN(currentTrainData?.delay) && currentTrainData?.delay != 0 && ( + + {time} + + )} + + {timeString[0]}:{timeString[1]} + + + {se?.replace("発", "出発").replace("着", "到着")} + + + + + ); +}; + +const TrainDataView = ({ currentTrainData, currentPosition }) => { + return ( + + + + + + + + ); +}; + +const StateBox = ({ text, title }) => ( + + {title} + + + {text?.match("~") ? ( + <> + {text.split("~")[0]} + + {text.split("~")[1]} + + ) : ( + {text} + )} + + +); +const boxStyle = { + flex: 1, + backgroundColor: "white", + borderRadius: 10, + padding: 10, + margin: 10, +}; +const boxTextStyle = { + fontSize: 28, + color: "#0099CC", + textAlign: "right", +};