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