アプリの起動時にお気に入りの一件目にジャンプするように変更

This commit is contained in:
harukin-DeskMini 2023-03-27 06:15:07 +09:00
parent 3d09b93df5
commit 054dab518f
2 changed files with 24 additions and 0 deletions

1
App.js
View File

@ -177,6 +177,7 @@ const Top = ({
favoriteStation={favoriteStation} favoriteStation={favoriteStation}
setFavoriteStation={setFavoriteStation} setFavoriteStation={setFavoriteStation}
busAndTrainData={busAndTrainData} busAndTrainData={busAndTrainData}
stationData={mapsStationData}
/> />
)} )}
</Stack.Screen> </Stack.Screen>

23
Apps.js
View File

@ -25,6 +25,7 @@ export default function Apps({
favoriteStation, favoriteStation,
setFavoriteStation, setFavoriteStation,
busAndTrainData, busAndTrainData,
stationData,
}) { }) {
const { navigate } = navigation; const { navigate } = navigation;
var urlcache = ""; var urlcache = "";
@ -39,10 +40,12 @@ export default function Apps({
const [stationBoardData, setStationBoardData] = useState(undefined); const [stationBoardData, setStationBoardData] = useState(undefined);
const [originalStationList, setOriginalStationList] = useState(); const [originalStationList, setOriginalStationList] = useState();
const [selectedStation, setSelectedStation] = useState(undefined); const [selectedStation, setSelectedStation] = useState(undefined);
let once = false;
useEffect(() => { useEffect(() => {
getStationList().then(setOriginalStationList); getStationList().then(setOriginalStationList);
}, []); }, []);
useEffect(() => {}, [stationData, favoriteStation]);
//地図表示テキスト //地図表示テキスト
const injectJavascript = injectJavascriptData( const injectJavascript = injectJavascriptData(
mapSwitch, mapSwitch,
@ -183,6 +186,26 @@ export default function Apps({
onMessage={onMessage} onMessage={onMessage}
injectedJavaScript={injectJavascript} injectedJavaScript={injectJavascript}
onTouchMove={() => StationBoardAcSR.current?.hide()} 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;
}
}}
/> />
<MapsButton <MapsButton
onPress={() => navigate("trainMenu", { webview })} onPress={() => navigate("trainMenu", { webview })}