import React, { useEffect } from "react"; import { createStackNavigator } from "@react-navigation/stack"; import { useNavigation } from "@react-navigation/native"; import Apps from "./components/Apps"; import TrainBase from "./components/trainbaseview"; import HowTo from "./howto"; import News from "./components/news"; import TrainMenu from "./components/trainMenu"; import FavoriteList from "./components/FavoriteList"; import { optionData } from "./lib/stackOption"; import { useCurrentTrain } from "./stateBox/useCurrentTrain"; import { useTrainMenu } from "./stateBox/useTrainMenu"; import { AS } from "./storageControl"; import { news } from "./config/newsUpdate"; const Stack = createStackNavigator(); export const Top = () => { const { webview } = useCurrentTrain(); const { navigate, addListener, isFocused } = useNavigation(); //地図用 const { injectJavaScript, mapSwitch } = useTrainMenu(); const goToFavoriteList = () => navigate("positions", { screen: "favoriteList" }); useEffect(() => { const unsubscribe = addListener("tabLongPress", goToFavoriteList); return unsubscribe; }, []); const goToTrainMenu = () => { if (!isFocused()) { navigate("positions", { screen: "Apps" }); } if (mapSwitch == "true") { navigate("positions", { screen: "trainMenu" }); } else { webview.current?.injectJavaScript(`AccordionClassEvent()`); } return; }; useEffect(() => { const unsubscribe = addListener("tabPress", goToTrainMenu); return unsubscribe; }, [addListener, mapSwitch, injectJavaScript]); return ( ); };