運行情報の駅別動的表示化

This commit is contained in:
harukin-expo-dev-env 2024-08-19 12:34:12 +00:00
parent 81bb5326f2
commit ea6cc8c55a
2 changed files with 31 additions and 7 deletions

View File

@ -58,6 +58,7 @@ export default function LED_vision(props) {
const [finalSwitch, setFinalSwitch] = useState(false); const [finalSwitch, setFinalSwitch] = useState(false);
const [trainIDSwitch, setTrainIDSwitch] = useState(false); const [trainIDSwitch, setTrainIDSwitch] = useState(false);
const [trainDescriptionSwitch, setTrainDescriptionSwitch] = useState(false); const [trainDescriptionSwitch, setTrainDescriptionSwitch] = useState(false);
const [isInfoArea, setIsInfoArea] = useState(false);
const { areaInfo, areaStationID } = useAreaInfo(); const { areaInfo, areaStationID } = useAreaInfo();
useEffect(() => { useEffect(() => {
@ -93,11 +94,20 @@ export default function LED_vision(props) {
} }
let returnData = {}; let returnData = {};
Object.keys(trainDiagram).forEach((key) => { Object.keys(trainDiagram).forEach((key) => {
if (trainDiagram[key].match(station.Station_JP + ",")) { if (trainDiagram[key].match(station[0].Station_JP + ",")) {
returnData[key] = trainDiagram[key]; returnData[key] = trainDiagram[key];
} }
}); });
setStationDiagram(returnData); setStationDiagram(returnData);
if (
station.some((s) => {
return areaStationID.includes(s.StationNumber);
})
) {
setIsInfoArea(true);
} else {
setIsInfoArea(false);
}
}, [trainDiagram, station]); }, [trainDiagram, station]);
const [trainTimeAndNumber, setTrainTimeAndNumber] = useState(null); const [trainTimeAndNumber, setTrainTimeAndNumber] = useState(null);
@ -105,7 +115,7 @@ export default function LED_vision(props) {
useEffect(() => { useEffect(() => {
//現在の駅に停車する列車から時刻を切り出してLEDベースにフォーマット //現在の駅に停車する列車から時刻を切り出してLEDベースにフォーマット
if (objectIsEmpty(stationDiagram)) return () => {}; if (objectIsEmpty(stationDiagram)) return () => {};
const getTimeData = getTime(stationDiagram, station); const getTimeData = getTime(stationDiagram, station[0]);
setTrainTimeAndNumber(getTimeData); setTrainTimeAndNumber(getTimeData);
}, [stationDiagram]); }, [stationDiagram]);
@ -223,14 +233,14 @@ export default function LED_vision(props) {
d={d} d={d}
trainIDSwitch={trainIDSwitch} trainIDSwitch={trainIDSwitch}
trainDescriptionSwitch={trainDescriptionSwitch} trainDescriptionSwitch={trainDescriptionSwitch}
station={station} station={station[0]}
customTrainDataDetector={customTrainDataDetector} customTrainDataDetector={customTrainDataDetector}
navigate={navigate} navigate={navigate}
originalStationList={originalStationList} originalStationList={originalStationList}
openStationACFromEachTrainInfo={openStationACFromEachTrainInfo} openStationACFromEachTrainInfo={openStationACFromEachTrainInfo}
/> />
))} ))}
{areaString != "" && ( {areaString != "" && isInfoArea && (
<Description <Description
numberOfLines={1} numberOfLines={1}
info={areaString.replaceAll("\n", "").replaceAll("\r", "")} info={areaString.replaceAll("\n", "").replaceAll("\r", "")}
@ -520,10 +530,25 @@ const Description = ({ info, numberOfLines = 0, onClick }) => (
marginHorizontal: "3%", marginHorizontal: "3%",
backgroundColor: "#000", backgroundColor: "#000",
flexDirection: "row", flexDirection: "row",
overflow: "hidden",
}} }}
onPress={onClick} onPress={onClick}
> >
<View style={{ flex: 4 }}> <View style={{ flex: 4, flexDirection: "row" }}>
{numberOfLines == 1 ? (
<Text
style={{
fontSize: parseInt("16%"),
color: "red",
fontWeight: "bold",
}}
>
運行情報
</Text>
) : (
<></>
)}
<Text <Text
style={{ style={{
fontSize: parseInt("16%"), fontSize: parseInt("16%"),
@ -532,7 +557,6 @@ const Description = ({ info, numberOfLines = 0, onClick }) => (
}} }}
numberOfLines={numberOfLines} numberOfLines={numberOfLines}
> >
{" "}
&gt; {info} &gt; {info}
</Text> </Text>
</View> </View>

View File

@ -205,7 +205,7 @@ export default function Menu({ getCurrentTrain }) {
allStationData[selectedCurrentStation] && ( allStationData[selectedCurrentStation] && (
<LED_vision <LED_vision
station={ station={
originalStationList && allStationData[selectedCurrentStation][0] originalStationList && allStationData[selectedCurrentStation]
} }
trainDiagram={trainDiagram} trainDiagram={trainDiagram}
getCurrentTrain={getCurrentTrain} getCurrentTrain={getCurrentTrain}