diff --git a/components/ActionSheetComponents/EachTrainInfo.js b/components/ActionSheetComponents/EachTrainInfo.js index 013b455..711b439 100644 --- a/components/ActionSheetComponents/EachTrainInfo.js +++ b/components/ActionSheetComponents/EachTrainInfo.js @@ -27,6 +27,7 @@ import { import lineColorList from "../../assets/originData/lineColorList"; import { useCurrentTrain } from "../../stateBox/useCurrentTrain"; import { checkDuplicateTrainData } from "../../lib/checkDuplicateTrainData"; +import dayjs from "dayjs"; export const EachTrainInfo = (props) => { if (!props.payload) return <>; @@ -528,44 +529,42 @@ const StationButton = ({ currentTrainData, openStationACFromEachTrainInfo, }) => { - const [station, se, time] = i.split(","); - const Stations = stationList.map((a) => - a.filter((d) => d.StationName == station) - ); + const [station, se, time] = i.split(","); // 阿波池田,発,6:21 + const Stations = stationList + .map((a) => a.filter((d) => d.StationName == station)) + .reduce((newArray, e) => newArray.concat(e), []); + /*Array [ + Object { + "StationName": "佐古", + "StationNumber": "T01", + }, + Object { + "StationName": "佐古", + "StationNumber": "B01", + }, + ] */ const StationNumbers = Stations && - Stations.reduce((newArray, e) => { - return newArray.concat(e); - }, []) - .filter((d) => d.StationNumber) - .map((d) => d.StationNumber); + Stations.filter((d) => d.StationNumber).map((d) => d.StationNumber); + // Array [ "T01", "B01",] + const lineIDs = []; + const EachIDs = []; + StationNumbers.forEach((d) => { + const textArray = d.split(""); + lineIDs.push(textArray.filter((s) => "A" < s && s < "Z").join("")); + EachIDs.push(textArray.filter((s) => "0" <= s && s <= "9").join("")); + }); + // Array [ "T", "B",] + // Array [ "01", "01",] - 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]); - } + const dates = dayjs() + .set("hour", parseInt(time.split(":")[0])) + .set("minute", parseInt(time.split(":")[1])); if (!isNaN(currentTrainData?.delay)) { - date.setMinutes(date.getMinutes() + currentTrainData?.delay); + dates.add(currentTrainData?.delay, "minute"); } + const timeString = dates.format("HH:mm").split(":"); - const timeString = date.toTimeString().split(" ")[0].split(":"); return ( openStationACFromEachTrainInfo(station)} @@ -581,13 +580,13 @@ const StationButton = ({ height: "101%", }} > - {colorIDs.map((color, index) => ( + {lineIDs.map((lineID, index) => ( - {colorIDs[index]} - - + {lineIDs[index]} + {"\n"} {EachIDs[index]} @@ -626,14 +617,7 @@ const StationButton = ({ {station} {points && points.findIndex((d) => d == index) >= 0 ? ( - - 🚊 - + 🚊 ) : null} {!isNaN(currentTrainData?.delay) && currentTrainData?.delay != 0 && (