diff --git a/App.js b/App.js index 9fd49de..028e4cf 100644 --- a/App.js +++ b/App.js @@ -177,6 +177,7 @@ const Top = ({ favoriteStation={favoriteStation} setFavoriteStation={setFavoriteStation} busAndTrainData={busAndTrainData} + stationData={mapsStationData} /> )} diff --git a/Apps.js b/Apps.js index 2a2f59e..fc05805 100644 --- a/Apps.js +++ b/Apps.js @@ -25,6 +25,7 @@ export default function Apps({ favoriteStation, setFavoriteStation, busAndTrainData, + stationData, }) { const { navigate } = navigation; var urlcache = ""; @@ -39,10 +40,12 @@ export default function Apps({ const [stationBoardData, setStationBoardData] = useState(undefined); const [originalStationList, setOriginalStationList] = useState(); const [selectedStation, setSelectedStation] = useState(undefined); + let once = false; useEffect(() => { getStationList().then(setOriginalStationList); }, []); + useEffect(() => {}, [stationData, favoriteStation]); //地図表示テキスト const injectJavascript = injectJavascriptData( mapSwitch, @@ -183,6 +186,26 @@ export default function Apps({ onMessage={onMessage} injectedJavaScript={injectJavascript} onTouchMove={() => StationBoardAcSR.current?.hide()} + onLoadEnd={() => { + if (once) return () => {}; + if (!stationData) return () => {}; + if (favoriteStation.length > 0) { + const getStationLine = (now) => { + const returnData = Object.keys(stationData).filter((d) => { + const cache = stationData[d].findIndex( + (data) => data.Station_JP == now.Station_JP + ); + return cache != -1; + }); + return returnData[0]; + }; + const lineName = getStationLine(favoriteStation[0][0]); + webview.current?.injectJavaScript( + `MoveDisplayStation('${lineName}_${favoriteStation[0][0].MyStation}_${favoriteStation[0][0].Station_JP}')` + ); + once = true; + } + }} /> navigate("trainMenu", { webview })}