部分整理

This commit is contained in:
harukin-OneMix4 2024-02-14 01:09:28 +09:00
parent 039dff5d8f
commit 6b12dcbcf6

View File

@ -72,6 +72,10 @@ export const EachTrainInfoCore = ({
const [trainPositionSwitch, setTrainPositionSwitch] = useState("false"); const [trainPositionSwitch, setTrainPositionSwitch] = useState("false");
const [currentPosition, setCurrentPosition] = useState([]); const [currentPosition, setCurrentPosition] = useState([]);
const [trainData, setTrainData] = useState([]); const [trainData, setTrainData] = useState([]);
const scrollHandlers = actionSheetRef
? useScrollHandlers("scrollview-1", actionSheetRef)
: null;
const stationList = const stationList =
originalStationList && originalStationList &&
lineList.map((d) => lineList.map((d) =>
@ -81,6 +85,11 @@ export const EachTrainInfoCore = ({
})) }))
); );
// 使用例
const points =
trainPositionSwitch == "true"
? findReversalPoints(currentPosition, stopStationIDList)
: [];
const stopStationIDList = trainData.map((i, index) => { const stopStationIDList = trainData.map((i, index) => {
const [station, se, time] = i.split(","); const [station, se, time] = i.split(",");
const Stations = stationList.map((a) => const Stations = stationList.map((a) =>
@ -95,10 +104,31 @@ export const EachTrainInfoCore = ({
.map((d) => d.StationNumber); .map((d) => d.StationNumber);
return StationNumbers[0]; return StationNumbers[0];
}); });
const { height, width } = useWindowDimensions();
const [isLandscape, setIsLandscape] = useState(false);
const [trueTrainID, setTrueTrainID] = useState();
useEffect(() => { useEffect(() => {
if (!data.trainNum) return;
const TD = trainList[data.trainNum];
if (!TD) {
const specialTrainActualID = searchSpecialTrain(data.trainNum, trainList);
setTrueTrainID(specialTrainActualID || undefined);
setTrainData([]);
return;
}
setTrainData(TD.split("#").filter((d) => d != ""));
}, [data]);
//裏列車探索
useEffect(() => {
if (!data.trainNum) return;
const [returnArray, TDArray] = getInfluencedTrainData(data.trainNum);
setNearTrainIDList(returnArray);
setShowNearTrain(TDArray);
if (trainData.length == 0) return; if (trainData.length == 0) return;
if (showNearTrain.length == 0) return; if (TDArray.length == 0) return;
showNearTrain.forEach((d) => { TDArray.forEach((d) => {
const [station, se, time] = d.split(","); const [station, se, time] = d.split(",");
if (station == trainData[0].split(",")[0]) if (station == trainData[0].split(",")[0])
@ -106,25 +136,8 @@ export const EachTrainInfoCore = ({
if (station == trainData[trainData.length - 1].split(",")[0]) if (station == trainData[trainData.length - 1].split(",")[0])
setTailStation(trainData[trainData.length - 1].split(",")[0]); setTailStation(trainData[trainData.length - 1].split(",")[0]);
}); });
}, [trainData, showNearTrain]); }, [trainData, data]);
//裏列車探索
useEffect(() => {
if (!data.trainNum) return;
const [returnArray, TDArray] = getInfluencedTrainData(data.trainNum);
setNearTrainIDList(returnArray);
setShowNearTrain(TDArray);
}, [data]);
const scrollHandlers = actionSheetRef
? useScrollHandlers("scrollview-1", actionSheetRef)
: null;
// 使用例
const points =
trainPositionSwitch == "true"
? findReversalPoints(currentPosition, stopStationIDList)
: [];
const { height, width } = useWindowDimensions();
const [isLandscape, setIsLandscape] = useState(false);
useEffect(() => { useEffect(() => {
//currentTrainData.Pos = "鴨川~端岡"; //test //currentTrainData.Pos = "鴨川~端岡"; //test
if (!currentTrainData) return; if (!currentTrainData) return;
@ -141,6 +154,7 @@ export const EachTrainInfoCore = ({
setCurrentPosition([getStationData(currentTrainData?.Pos, stationList)]); setCurrentPosition([getStationData(currentTrainData?.Pos, stationList)]);
} }
}, [currentTrainData]); }, [currentTrainData]);
useEffect(() => { useEffect(() => {
if (height / width > 1.5) { if (height / width > 1.5) {
setIsLandscape(false); setIsLandscape(false);
@ -149,35 +163,18 @@ export const EachTrainInfoCore = ({
setIsLandscape(true); setIsLandscape(true);
} }
}, [width, height]); }, [width, height]);
const [trueTrainID, setTrueTrainID] = useState();
useEffect(() => {
if (!data.trainNum) return;
const TD = trainList[data.trainNum];
if (!TD) {
const specialTrainActualID = searchSpecialTrain(data.trainNum, trainList);
if (specialTrainActualID) setTrueTrainID(specialTrainActualID);
setTrainData([]);
return;
}
setTrainData(TD.split("#").filter((d) => d != ""));
}, [data]);
const replaceSpecialTrainDetail = (trainNum) => { const replaceSpecialTrainDetail = (trainNum) => {
let TD = trainList[trainNum]; let TD = trainList[trainNum];
if (!TD) return;
if (TD) { setTrainData(TD.split("#").filter((d) => d != ""));
setTrainData(TD.split("#").filter((d) => d != ""));
return;
}
}; };
useEffect(() => { useEffect(() => {
//列車現在地アイコン表示スイッチ //列車現在地アイコン表示スイッチ
AS.getItem("trainPositionSwitch") AS.getItem("trainPositionSwitch")
.then((d) => { .then((d) => {
if (d) { if (d) setTrainPositionSwitch(d);
setTrainPositionSwitch(d);
} else {
}
}) })
.catch((d) => AS.setItem("trainPositionSwitch", "false")); .catch((d) => AS.setItem("trainPositionSwitch", "false"));
}, []); }, []);