import React from "react"; import { View, Text, TouchableWithoutFeedback } from "react-native"; import dayjs from "dayjs"; import lineColorList from "../../../assets/originData/lineColorList"; export const EachStopList = ({ i, index, stationList, points, currentTrainData, openStationACFromEachTrainInfo, showThrew, }) => { if (!showThrew && i.split(",")[1] == "通過") return null; 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.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 dates = dayjs() .set("hour", parseInt(time.split(":")[0])) .set("minute", parseInt(time.split(":")[1])) .add(isNaN(currentTrainData?.delay) ? 0 : currentTrainData.delay, "minute"); const timeString = se == "通過" ? "" : dates.format("HH:mm").split(":"); const onClickStateText = (string) => { if (string != "通過") return; alert("この駅は通過駅です"); }; return ( openStationACFromEachTrainInfo && openStationACFromEachTrainInfo(station) } key={station} > {lineIDs.map((lineID, index) => ( {lineIDs[index]} {"\n"} {EachIDs[index]} ))} {station} {points ? ( 🚊 ) : null} {!isNaN(currentTrainData?.delay) && currentTrainData?.delay != 0 && ( {time} )} onClickStateText(se)} > {se == "通過" ? "レ" : `${timeString[0]}:${timeString[1]}`} {se?.replace("発", "出発").replace("着", "到着")} ); };