メニュー画面でのtrainInfo画面の動作要件準備

This commit is contained in:
harukin-OneMix4 2023-06-27 22:18:52 +09:00
parent ce9dccc158
commit 9fee43d6ff
3 changed files with 55 additions and 35 deletions

View File

@ -23,6 +23,7 @@ export const EachTrainInfo = ({
navigate,
originalStationList,
openStationACFromEachTrainInfo,
from,
}) => {
const [trainData, setTrainData] = useState([]);
const stationList =
@ -106,6 +107,7 @@ export const EachTrainInfo = ({
navigate("trainbase", {
info: "train.html?tn=" + data.trainNum,
from,
});
setRef.current?.hide();
}}
@ -175,8 +177,8 @@ export const EachTrainInfo = ({
>
<View
style={{
width: 40,
height: 40,
width: 35,
height: 41,
position: "absolute",
left: 10,
top: 0,

View File

@ -212,6 +212,8 @@ export default function LED_vision(props) {
currentTrain={currentTrain}
customTrainDataDetector={customTrainDataDetector}
navigate={props.navigate}
setTrainInfo={props.setTrainInfo}
EachTrainInfoAsSR={props.EachTrainInfoAsSR}
/>
))}
<Footer
@ -333,19 +335,39 @@ const EachData = ({
currentTrain,
customTrainDataDetector,
navigate,
setTrainInfo,
EachTrainInfoAsSR,
}) => {
const getTrainType = (data) => {
switch (data) {
case "Rapid":
return { color: "aqua", name: "快速" };
return { color: "aqua", name: "快速", data: "rapid" };
case "LTDEXP":
return { color: "red", name: "特急" };
return { color: "red", name: "特急", data: "express" };
case "NightLTDEXP":
return { color: "red", name: "寝台特急" };
return { color: "red", name: "寝台特急", data: "express" };
case "Normal":
return { color: "white", name: "普通列車" };
return { color: "white", name: "普通列車", data: "normal" };
}
};
const openTrainInfo = (d) => {
console.log(train);
console.log(d);
let TrainNumber = "";
if (train.trainNumDistance != undefined) {
const timeInfo =
parseInt(d.train.replace("M", "").replace("D", "")) -
train.trainNumDistance;
TrainNumber = timeInfo + "号";
}
setTrainInfo({
trainNum: d.train,
limited: `${getTrainType(train.type).data}:${
train.trainName
}${TrainNumber}`,
});
EachTrainInfoAsSR.current?.show();
};
const [train, setTrain] = useState(customTrainDataDetector(d.train));
useEffect(() => {
setTrain(customTrainDataDetector(d.train));
@ -362,14 +384,7 @@ const EachData = ({
backgroundColor: "#000",
flexDirection: "row",
}}
onPress={() => {
if (train.type != "Normal") {
navigate("trainbase", {
info: "train.html?tn=" + d.train,
from: "LED",
});
}
}}
onPress={() => openTrainInfo(d)}
>
<TrainName
train={train}

45
menu.js
View File

@ -151,27 +151,27 @@ export default function Menu(props) {
}, [selectedCurrentStation]);
const openStationACFromEachTrainInfo = (stationName) => {
EachTrainInfoAsSR.current?.hide();
const findStationEachLine = (selectLine) => {
let NearStation = selectLine.filter((d) => d.Station_JP == stationName);
return NearStation;
};
let returnDataBase = lineList
.map((d) => findStationEachLine(originalStationList[d]))
.filter((d) => d.length > 0)
.reduce((pre, current) => {
pre.push(...current);
return pre;
}, []);
if (returnDataBase.length) {
setStationBoardData(returnDataBase);
sleep(30, function () {
StationBoardAcSR.current?.show();
});
} else {
setStationBoardData(undefined);
StationBoardAcSR.current?.hide();
}
// EachTrainInfoAsSR.current?.hide();
// const findStationEachLine = (selectLine) => {
// let NearStation = selectLine.filter((d) => d.Station_JP == stationName);
// return NearStation;
// };
// let returnDataBase = lineList
// .map((d) => findStationEachLine(originalStationList[d]))
// .filter((d) => d.length > 0)
// .reduce((pre, current) => {
// pre.push(...current);
// return pre;
// }, []);
// if (returnDataBase.length) {
// setStationBoardData(returnDataBase);
// sleep(30, function () {
// StationBoardAcSR.current?.show();
// });
// } else {
// setStationBoardData(undefined);
// StationBoardAcSR.current?.hide();
// }
};
return (
<View
@ -224,6 +224,8 @@ export default function Menu(props) {
originalStationList && allStationData[selectedCurrentStation][0]
}
navigate={navigate}
setTrainInfo={setTrainInfo}
EachTrainInfoAsSR={EachTrainInfoAsSR}
/>
)}
<JRSTraInfoBox
@ -266,6 +268,7 @@ export default function Menu(props) {
navigate={navigate}
originalStationList={originalStationList}
openStationACFromEachTrainInfo={openStationACFromEachTrainInfo}
from="LED"
/>
</View>
);