位置情報と地図フィルタリング機能の協調化
This commit is contained in:
18
Top.js
18
Top.js
@@ -17,12 +17,17 @@ import { AS } from "./storageControl.js";
|
||||
import { useTrainMenu } from "./stateBox/useTrainMenu";
|
||||
const Stack = createStackNavigator();
|
||||
export const Top = ({ navigationRef }) => {
|
||||
const { webview, getCurrentTrain } = useCurrentTrain();
|
||||
const { webview } = useCurrentTrain();
|
||||
const navigation = useNavigation();
|
||||
const { navigate, addListener } = navigation;
|
||||
|
||||
//地図用
|
||||
const { mapsStationData, setMapsStationData } = useTrainMenu();
|
||||
const {
|
||||
mapsStationData,
|
||||
setMapsStationData,
|
||||
injectJavaScript,
|
||||
setInjectJavaScript,
|
||||
} = useTrainMenu();
|
||||
|
||||
useEffect(() => {
|
||||
getStationList2().then(setMapsStationData);
|
||||
@@ -48,15 +53,20 @@ export const Top = ({ navigationRef }) => {
|
||||
if (navigationRef.current?.getCurrentRoute().name == "Apps") {
|
||||
if (mapSwitch == "true") {
|
||||
navigation.navigate("trainMenu");
|
||||
setInjectJavaScript("");
|
||||
} else {
|
||||
webview.current?.injectJavaScript(`AccordionClassEvent()`);
|
||||
}
|
||||
} else {
|
||||
if (mapSwitch == "true") {
|
||||
if (injectJavaScript)
|
||||
webview.current?.injectJavaScript(injectJavaScript);
|
||||
}
|
||||
navigation.navigate("Apps");
|
||||
}
|
||||
});
|
||||
return unsubscribe;
|
||||
}, [navigation, mapSwitch]);
|
||||
}, [navigation, mapSwitch, injectJavaScript]);
|
||||
|
||||
return (
|
||||
<Stack.Navigator>
|
||||
@@ -85,7 +95,7 @@ export const Top = ({ navigationRef }) => {
|
||||
<Stack.Screen
|
||||
name="trainMenu"
|
||||
options={optionData}
|
||||
children={() => <TrainMenu stationData={mapsStationData} />}
|
||||
children={() => <TrainMenu />}
|
||||
/>
|
||||
|
||||
<Stack.Screen
|
||||
|
Reference in New Issue
Block a user