diff --git a/Top.js b/Top.js
index 6054b0e..b2bd3bf 100644
--- a/Top.js
+++ b/Top.js
@@ -13,7 +13,7 @@ import FavoriteList from "./components/FavoriteList.js";
import { optionData } from "./lib/stackOption.js";
import { useNavigation } from "@react-navigation/native";
import { useCurrentTrain } from "./stateBox/useCurrentTrain.js";
-import { AS } from "./storageControl.js";
+import { ASCore } from "./storageControl.js";
import { useTrainMenu } from "./stateBox/useTrainMenu";
const Stack = createStackNavigator();
export const Top = ({ navigationRef }) => {
@@ -28,10 +28,6 @@ export const Top = ({ navigationRef }) => {
getStationList2().then(setMapsStationData);
}, []);
const [mapSwitch, setMapSwitch] = React.useState("false");
- const ASCore = ({ k, s, d }) =>
- AS.getItem(k)
- .then((d) => (d ? s(d) : AS.setItem(k, d)))
- .catch(() => AS.setItem(k, d));
useEffect(() => {
//地図スイッチ
ASCore({ k: "mapSwitch", s: setMapSwitch, d: "false" });
diff --git a/components/Apps.js b/components/Apps.js
index 38a188b..1b33f12 100644
--- a/components/Apps.js
+++ b/components/Apps.js
@@ -11,7 +11,7 @@ import Constants from "expo-constants";
import { Ionicons } from "@expo/vector-icons";
import * as Updates from "expo-updates";
-import { AS } from "../storageControl";
+import { AS, ASCore } from "../storageControl";
import { news } from "../config/newsUpdate";
import { getStationList, lineList } from "../lib/getStationList";
import { injectJavascriptData } from "../lib/webViewInjectjavascript";
@@ -36,7 +36,7 @@ export default function Apps() {
const { navigate } = useNavigation();
const { isLandscape } = useDeviceOrientationChange();
const handleLayout = () => {};
- const { setInjectJavaScript, mapsStationData: stationData } = useTrainMenu();
+ const { setInjectJavaScript, mapsStationData } = useTrainMenu();
//画面表示関連
const [iconSetting, setIconSetting] = useState(undefined);
@@ -63,10 +63,6 @@ export default function Apps() {
stationMenu,
trainMenu
);
- const ASCore = ({ k, s, d }) =>
- AS.getItem(k)
- .then((d) => (d ? s(d) : AS.setItem(k, d).then(Updates.reloadAsync)))
- .catch(() => AS.setItem(k, d).then(Updates.reloadAsync));
useEffect(() => {
//ニュース表示
@@ -79,13 +75,13 @@ export default function Apps() {
useEffect(() => {
//列車アイコンスイッチ
- ASCore({ k: "iconSwitch", s: setIconSetting, d: "true" });
+ ASCore({ k: "iconSwitch", s: setIconSetting, d: "true", u: true });
//地図スイッチ
- ASCore({ k: "mapSwitch", s: setMapSwitch, d: "false" });
+ ASCore({ k: "mapSwitch", s: setMapSwitch, d: "false", u: true });
//駅メニュースイッチ
- ASCore({ k: "stationSwitch", s: setStationMenu, d: "true" });
+ ASCore({ k: "stationSwitch", s: setStationMenu, d: "true", u: true });
//列車メニュースイッチ
- ASCore({ k: "trainSwitch", s: setTrainMenu, d: "true" });
+ ASCore({ k: "trainSwitch", s: setTrainMenu, d: "true", u: true });
}, []);
const openStationACFromEachTrainInfo = async (stationName) => {
@@ -127,7 +123,7 @@ export default function Apps() {
{!trainInfo.trainNum && isLandscape ? (
) : (
-
+
)}
);
}
-const NewMenu = ({ webview, LoadError }) => {
+const NewMenu = ({ LoadError }) => {
+ const { webview } = useCurrentTrain();
const { width } = useWindowDimensions();
return (
storage.load({ key }),
@@ -13,3 +14,9 @@ export const AS = {
}),
removeItem: (key) => storage.remove({ key }),
};
+export const ASCore = ({ k, s, d, u }) =>
+ AS.getItem(k)
+ .then((d) =>
+ d ? s(d) : AS.setItem(k, d).then(() => u && Updates.reloadAsync())
+ )
+ .catch(() => AS.setItem(k, d).then(() => u && Updates.reloadAsync()));