import React, { useState, useEffect, useLayoutEffect } from "react"; import { View, Text, TouchableOpacity, Linking, ScrollView, Image, useWindowDimensions, ToastAndroid, } from "react-native"; import { createStackNavigator } from "@react-navigation/stack"; import { TransitionPresets } from "@react-navigation/stack"; import * as ExpoFelicaReader from "../../modules/expo-felica-reader/src"; import * as Updates from "expo-updates"; import StatusbarDetect from "../../StatusbarDetect"; import { AS } from "../../storageControl"; var Status = StatusbarDetect(); import { Switch } from "react-native-elements"; import AutoHeightImage from "react-native-auto-height-image"; import { SettingTopPage } from "./SettingTopPage"; import { LayoutSettings } from "./LayoutSettings"; import { FavoriteSettings } from "./FavoriteSettings"; import { WidgetSettings } from "./WidgetSettings"; import { NotificationSettings } from "./NotificationSettings"; const Stack = createStackNavigator(); export default function Setting(props) { const { navigation: { navigate }, } = props; const [iconSetting, setIconSetting] = useState(false); const [mapSwitch, setMapSwitch] = useState(false); const [stationMenu, setStationMenu] = useState(false); const [usePDFView, setUsePDFView] = useState(false); const [trainMenu, setTrainMenu] = useState(false); const [trainPosition, setTrainPosition] = useState(false); const [headerSize, setHeaderSize] = useState("default"); const [startPage, setStartPage] = useState(false); useLayoutEffect(() => { AS.getItem("iconSwitch").then(setIconSetting); AS.getItem("mapSwitch").then(setMapSwitch); AS.getItem("stationSwitch").then(setStationMenu); AS.getItem("usePDFView").then(setUsePDFView); AS.getItem("trainSwitch").then(setTrainMenu); AS.getItem("trainPositionSwitch").then(setTrainPosition); AS.getItem("headerSize").then(setHeaderSize); AS.getItem("startPage").then(setStartPage); }, []); const testNFC = async () => { const result = await ExpoFelicaReader.scan(); alert(result); }; const updateAndReload = () => { Promise.all([ AS.setItem("iconSwitch", iconSetting.toString()), AS.setItem("mapSwitch", mapSwitch.toString()), AS.setItem("stationSwitch", stationMenu.toString()), AS.setItem("usePDFView", usePDFView.toString()), AS.setItem("trainSwitch", trainMenu.toString()), AS.setItem("trainPositionSwitch", trainPosition.toString()), AS.setItem("headerSize", headerSize), AS.setItem("startPage", startPage.toString()), ]).then(() => Updates.reloadAsync()); }; return ( {(props) => ( )} {(props) => ( )} {(props) => ( )} {(props) => } {(props) => } ); }