diff --git a/components/発車時刻表/EachData.tsx b/components/発車時刻表/EachData.tsx index af37d73..715c2b5 100644 --- a/components/発車時刻表/EachData.tsx +++ b/components/発車時刻表/EachData.tsx @@ -10,6 +10,7 @@ import { DependTime } from "./LED_inside_Component/DependTime"; import { LastStation } from "./LED_inside_Component/LastStation"; import { StatusAndDelay } from "./LED_inside_Component/StatusAndDelay"; import { TrainName } from "./LED_inside_Component/TrainName"; +import { customTrainDataDetector } from "../custom-train-data"; type Props = { d: { @@ -22,12 +23,6 @@ type Props = { station: { Station_JP: string; }; - customTrainDataDetector: (trainID: string) => { - trainName: string; - trainNumDistance?: number; - type: string; - info: string; - }; navigate: (screen: string, data?: any) => void; openStationACFromEachTrainInfo: (station: string) => void; }; @@ -37,7 +32,6 @@ export const EachData: FC = (props) => { trainIDSwitch, trainDescriptionSwitch, station, - customTrainDataDetector, navigate, openStationACFromEachTrainInfo, } = props; @@ -69,9 +63,30 @@ export const EachData: FC = (props) => { payload, }); }; - const [train, setTrain] = useState(customTrainDataDetector(d.train)); + + const getTrainDataFromCurrentTrain = (trainNum: string) => { + const customTrainData = customTrainDataDetector(d.train); + if(customTrainData.type != "Normal") return customTrainData; + + const currentTrainData = currentTrain.filter((a) => a.num == trainNum); + if(currentTrainData.length == 0) return customTrainData; + + else if (currentTrainData[0].Type.includes("rapid:")) { + const typeText = currentTrainData[0].Type.split(":"); + const returnData = { + type: "Rapid", + trainName: typeText[1].replace("\r", ""), + trainIcon: null, + trainNumDistance: null, + info: "", + }; + return returnData; + } + return customTrainData; + } + const [train, setTrain] = useState(getTrainDataFromCurrentTrain(d.train)); useEffect(() => { - setTrain(customTrainDataDetector(d.train)); + setTrain(getTrainDataFromCurrentTrain(d.train)); }, [currentTrain, d.train, trainDescriptionSwitch]); // 土讃線複数存在対策 const currentTrainData = checkDuplicateTrainData( diff --git a/components/発車時刻表/LED_vidion.js b/components/発車時刻表/LED_vidion.js index f787522..51fa6e3 100644 --- a/components/発車時刻表/LED_vidion.js +++ b/components/発車時刻表/LED_vidion.js @@ -1,7 +1,6 @@ import React, { useState, useEffect } from "react"; import { View } from "react-native"; import { widthPercentageToDP as wp } from "react-native-responsive-screen"; -import { customTrainDataDetector } from "../custom-train-data"; import { useInterval } from "../../lib/useInterval"; import { objectIsEmpty } from "../../lib/objectIsEmpty"; import { useCurrentTrain } from "../../stateBox/useCurrentTrain"; @@ -203,7 +202,6 @@ export default function LED_vision(props) { d, trainIDSwitch, trainDescriptionSwitch, - customTrainDataDetector, navigate, openStationACFromEachTrainInfo, }} diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index 391969a..d13f21f 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -946,6 +946,7 @@ makeTrainView.observe(document.getElementById('modal_content'), { trainMenu == "true" ? ` // これの中身抽出ShowTrainTimeInfo("1228M","normal") + // ShowTrainTimeInfo("142M","rapid:サンポート南風リレー") function setTrainMenuDialog(d){ try{ const offclick = d.getAttribute('offclick');