Top.jsの部分整理

This commit is contained in:
harukin-expo-dev-env 2024-08-20 03:15:13 +00:00
parent 85519cf857
commit 4085ee3675

52
Top.js
View File

@ -18,8 +18,7 @@ import { useTrainMenu } from "./stateBox/useTrainMenu";
const Stack = createStackNavigator();
export const Top = ({ navigationRef }) => {
const { webview } = useCurrentTrain();
const navigation = useNavigation();
const { navigate, addListener } = navigation;
const { navigate, addListener } = useNavigation();
//地図用
const { setMapsStationData, injectJavaScript, setInjectJavaScript } =
@ -38,33 +37,38 @@ export const Top = ({ navigationRef }) => {
ASCore({ k: "mapSwitch", s: setMapSwitch, d: "false" });
}, []);
const goToFavoriteList = () => navigate("favoriteList");
useEffect(() => {
const unsubscribe = addListener("tabLongPress", () =>
navigate("favoriteList")
);
const unsubscribe = addListener("tabLongPress", goToFavoriteList);
return unsubscribe;
}, [navigation]);
useEffect(() => {
const unsubscribe = navigation.addListener("tabPress", () => {
if (navigationRef.current?.getCurrentRoute().name == "Apps") {
if (mapSwitch == "true") {
navigation.navigate("trainMenu");
setInjectJavaScript("");
} else {
webview.current?.injectJavaScript(`AccordionClassEvent()`);
}
}, [{ navigate, addListener }]);
const goToTrainMenu = () => {
if (navigationRef.current?.getCurrentRoute().name == "Apps") {
if (mapSwitch == "true") {
navigate("trainMenu");
setInjectJavaScript("");
} else {
if (mapSwitch == "true") {
if (injectJavaScript) {
webview.current?.injectJavaScript(injectJavaScript);
setInjectJavaScript("");
}
}
navigation.navigate("Apps");
webview.current?.injectJavaScript(`AccordionClassEvent()`);
}
});
} else {
if (mapSwitch == "true") {
if (injectJavaScript) {
webview.current?.injectJavaScript(injectJavaScript);
setInjectJavaScript("");
}
}
navigate("Apps");
}
};
useEffect(() => {
const unsubscribe = addListener("tabPress", goToTrainMenu);
return unsubscribe;
}, [navigation, mapSwitch, injectJavaScript]);
}, [{ navigate, addListener }, mapSwitch, injectJavaScript]);
return (
<Stack.Navigator>