位置情報と地図フィルタリング機能の協調化

This commit is contained in:
harukin-expo-dev-env
2024-05-30 13:09:08 +00:00
parent 4194a83c8e
commit d07c05e523
4 changed files with 48 additions and 12 deletions

18
Top.js
View File

@@ -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