From 054dab518f343f88da9a165d20a64e0cb224739d Mon Sep 17 00:00:00 2001 From: harukin-DeskMini Date: Mon, 27 Mar 2023 06:15:07 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=A2=E3=83=97=E3=83=AA=E3=81=AE=E8=B5=B7?= =?UTF-8?q?=E5=8B=95=E6=99=82=E3=81=AB=E3=81=8A=E6=B0=97=E3=81=AB=E5=85=A5?= =?UTF-8?q?=E3=82=8A=E3=81=AE=E4=B8=80=E4=BB=B6=E7=9B=AE=E3=81=AB=E3=82=B8?= =?UTF-8?q?=E3=83=A3=E3=83=B3=E3=83=97=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.js | 1 + Apps.js | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) 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 })}