ほぼ修正完了

This commit is contained in:
harukin-OneMix4 2024-02-12 17:07:10 +09:00
parent 5ce9ba9bea
commit 627102601d

View File

@ -39,42 +39,12 @@ export const EachTrainInfo = (props) => {
openStationACFromEachTrainInfo = () => {},
from,
} = props.payload;
const [trainData, setTrainData] = useState([]);
const [currentPosition, setCurrentPosition] = useState([]);
const [trainPositionSwitch, setTrainPositionSwitch] = useState("false");
const { currentTrain } = useCurrentTrain();
const { getInfluencedTrainData } = useBusAndTrainData();
const [currentTrainData, setCurrentTrainData] = useState([]);
const [nearTrainIDList, setNearTrainIDList] = useState([]);
const [showNearTrain, setShowNearTrain] = useState([]);
const [isConcatNear, setIsConcatNear] = useState(false);
const [tailStation, setTailStation] = useState();
const [headStation, setHeadStation] = useState();
// const [actionSheetHorizonalScroll, setActionSheetHorizonalScroll] = useState(false);
//裏列車探索
useEffect(() => {
if (!data.trainNum) return;
const [returnArray, TDArray] = getInfluencedTrainData(data.trainNum);
setNearTrainIDList(returnArray);
setShowNearTrain(TDArray);
}, [data]);
useEffect(() => {
if (trainData.length == 0) return;
if (showNearTrain.length == 0) return;
showNearTrain.forEach((d) => {
const [station, se, time] = d.split(",");
if (station == trainData[0].split(",")[0])
setHeadStation(trainData[0].split(",")[0]);
if (station == trainData[trainData.length - 1].split(",")[0])
setTailStation(trainData[trainData.length - 1].split(",")[0]);
});
}, [trainData, showNearTrain]);
useEffect(() => {
setCurrentTrainData(
checkDuplicateTrainData(
@ -84,6 +54,78 @@ export const EachTrainInfo = (props) => {
}, [currentTrain]);
//bconst insets = useSafeAreaInsets();
const actionSheetRef = useRef(null);
return (
<ActionSheet
gestureEnabled={true}
//gestureEnabled={!actionSheetHorizonalScroll}
CustomHeaderComponent={<></>}
ref={actionSheetRef}
drawUnderStatusBar={false}
isModal={Platform.OS == "ios"}
//useBottomSafeAreaPadding={Platform.OS == "android"}
>
<Hoge
{...{
actionSheetRef,
data,
navigate,
originalStationList,
openStationACFromEachTrainInfo,
from,
currentTrainData,
}}
/>
</ActionSheet>
);
};
const styles = StyleSheet.create({
header: {
justifyContent: "center",
alignItems: "center",
left: 0,
right: 0,
//paddingTop: 10,
position: "absolute",
zIndex: 1,
backgroundColor: "f0f0f0",
},
headerText: {
color: "#fff",
fontSize: 25,
fontWeight: "bold",
textAlign: "center",
},
});
const Hoge = ({
actionSheetRef,
data,
navigate,
originalStationList,
openStationACFromEachTrainInfo,
from,
currentTrainData,
}) => {
const [headStation, setHeadStation] = useState();
const [tailStation, setTailStation] = useState();
const [isConcatNear, setIsConcatNear] = useState(false);
const [showNearTrain, setShowNearTrain] = useState([]);
const [nearTrainIDList, setNearTrainIDList] = useState([]);
const { getInfluencedTrainData } = useBusAndTrainData();
const [trainPositionSwitch, setTrainPositionSwitch] = useState("false");
const [currentPosition, setCurrentPosition] = useState([]);
const [trainData, setTrainData] = useState([]);
const stationList =
originalStationList &&
lineList.map((d) =>
originalStationList[d].map((a) => ({
StationNumber: a.StationNumber,
StationName: a.Station_JP,
}))
);
const getStationData = (stationName) => {
const Stations = stationList.map((a) =>
a.filter((d) => d.StationName == stationName)
@ -96,15 +138,6 @@ export const EachTrainInfo = (props) => {
if (!Station[0]) return [];
return Station.map((d) => d.StationNumber)[0];
};
const stationList =
originalStationList &&
lineList.map((d) =>
originalStationList[d].map((a) => ({
StationNumber: a.StationNumber,
StationName: a.Station_JP,
}))
);
const stopStationIDList = trainData.map((i, index) => {
const [station, se, time] = i.split(",");
const Stations = stationList.map((a) =>
@ -232,100 +265,25 @@ export const EachTrainInfo = (props) => {
console.log(e);
}
}
useEffect(() => {
if (trainData.length == 0) return;
if (showNearTrain.length == 0) return;
showNearTrain.forEach((d) => {
const [station, se, time] = d.split(",");
const actionSheetRef = useRef(null);
return (
<ActionSheet
gestureEnabled={true}
//gestureEnabled={!actionSheetHorizonalScroll}
CustomHeaderComponent={<></>}
ref={actionSheetRef}
drawUnderStatusBar={false}
isModal={Platform.OS == "ios"}
//useBottomSafeAreaPadding={Platform.OS == "android"}
>
<Hoge
{...{
actionSheetRef,
data,
trainData,
isConcatNear,
nearTrainIDList,
navigate,
from,
currentTrainData,
currentPosition,
headStation,
tailStation,
stationList,
openStationACFromEachTrainInfo,
trainPositionSwitch,
findReversalPoints,
setTrainData,
trainList,
showNearTrain,
setIsConcatNear,
customTrainDataDetector,
getTrainType,
originalStationList,
SheetManager,
AS,
setTrainPositionSwitch,
getStationData,
setCurrentPosition,
}}
/>
</ActionSheet>
);
};
const styles = StyleSheet.create({
header: {
justifyContent: "center",
alignItems: "center",
left: 0,
right: 0,
//paddingTop: 10,
position: "absolute",
zIndex: 1,
backgroundColor: "f0f0f0",
},
headerText: {
color: "#fff",
fontSize: 25,
fontWeight: "bold",
textAlign: "center",
},
});
const Hoge = ({
actionSheetRef,
data,
trainData,
isConcatNear,
nearTrainIDList,
navigate,
from,
currentTrainData,
currentPosition,
headStation,
tailStation,
stationList,
openStationACFromEachTrainInfo,
trainPositionSwitch,
findReversalPoints,
setTrainData,
trainList,
showNearTrain,
setIsConcatNear,
customTrainDataDetector,
getTrainType,
originalStationList,
SheetManager,
AS,
setTrainPositionSwitch,
getStationData,
setCurrentPosition,
}) => {
if (station == trainData[0].split(",")[0])
setHeadStation(trainData[0].split(",")[0]);
if (station == trainData[trainData.length - 1].split(",")[0])
setTailStation(trainData[trainData.length - 1].split(",")[0]);
});
}, [trainData, showNearTrain]);
//裏列車探索
useEffect(() => {
if (!data.trainNum) return;
const [returnArray, TDArray] = getInfluencedTrainData(data.trainNum);
setNearTrainIDList(returnArray);
setShowNearTrain(TDArray);
}, [data]);
const scrollHandlers = useScrollHandlers("scrollview-1", actionSheetRef);
const migrateTrainName = (string) => {
return string