散歩をLEDに表示できるように修正

This commit is contained in:
harukin-expo-dev-env 2024-10-16 07:32:13 +00:00
parent e1414eef06
commit bf7e113862
3 changed files with 25 additions and 11 deletions

View File

@ -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> = (props) => {
trainIDSwitch,
trainDescriptionSwitch,
station,
customTrainDataDetector,
navigate,
openStationACFromEachTrainInfo,
} = props;
@ -69,9 +63,30 @@ export const EachData: FC<Props> = (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(

View File

@ -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,
}}

View File

@ -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');