From b2ee75205bccfb53b4d5ee1753b117c80e2e5502 Mon Sep 17 00:00:00 2001 From: harukin-OneMix4 Date: Thu, 6 Jul 2023 02:09:44 +0900 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E9=83=A8=E3=83=AD=E3=82=B8=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=81=AE=E7=9F=AD=E7=B8=AE=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/発車時刻表/LED_vidion.js | 54 +++++++++++------------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/components/発車時刻表/LED_vidion.js b/components/発車時刻表/LED_vidion.js index 6a6aa53..196383d 100644 --- a/components/発車時刻表/LED_vidion.js +++ b/components/発車時刻表/LED_vidion.js @@ -403,12 +403,12 @@ const EachData = ({ const TrainName = ({ train, trainIDSwitch, d, getTrainType }) => { const { trainName, trainNumDistance } = train; - let TrainNumber = ""; - if (trainNumDistance != undefined) { - const timeInfo = - parseInt(d.train.replace("M", "").replace("D", "")) - trainNumDistance; - TrainNumber = timeInfo + "号"; - } + let TrainNumber = + trainNumDistance != undefined + ? `${ + parseInt(d.train.replace("M", "").replace("D", "")) - trainNumDistance + }号` + : ""; return ( { ); }; -const LastStation = ({ d }) => { +const LastStation = ({ d: { lastStation } }) => { return ( 4 ? parseInt("13%") : parseInt("18%"), + fontSize: lastStation.length > 4 ? parseInt("13%") : parseInt("18%"), color: "white", fontWeight: "bold", }} > - {d.lastStation} + {lastStation} ); }; -const DependTime = ({ d }) => { +const DependTime = ({ d: { time } }) => { return ( { fontWeight: "bold", }} > - {d.time} + {time} ); @@ -464,34 +463,28 @@ const checkDuplicateTrainData = (currentTrainArray) => { if (notNyujoData.length == 0) return currentTrainArray[0]; else return notNyujoData[0]; }; + const StatusAndDelay = ({ currentTrain, d, props, trainDescriptionSwitch }) => { - const [status, setStatus] = useState(""); - useEffect(() => { - const array = currentTrain.filter((a) => a.num == d.train); - const current = checkDuplicateTrainData(array); - // 土讃線複数存在対策 + // 土讃線複数存在対策 + const getTrainDelayStatus = (current) => { if (!current) return () => {}; const delay = current.delay; switch (true) { case delay === "入線": if (current.Pos === station.Station_JP) { - setStatus("当駅始発"); - break; + return "当駅始発"; } else { - setStatus("発車前"); - break; + return "発車前"; } case isNaN(delay): - setStatus(delay); - break; + return delay; case delay === 0: - setStatus("定刻通り"); - break; + return "定刻通り"; default: - setStatus(delay + "分遅れ"); - break; + return delay + "分遅れ"; } - }, [currentTrain, d.train, trainDescriptionSwitch]); + }; + return ( { paddingLeft: 1, }} > - {status} + {getTrainDelayStatus( + checkDuplicateTrainData(currentTrain.filter((a) => a.num == d.train)) + )} ); }; + const Description = ({ train }) => { return (