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

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}
setFavoriteStation={setFavoriteStation}
busAndTrainData={busAndTrainData}
stationData={mapsStationData}
/>
)}
</Stack.Screen>

23
Apps.js
View File

@ -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;
}
}}
/>
<MapsButton
onPress={() => navigate("trainMenu", { webview })}