diff --git a/components/発車時刻表/LED_Vision_Component/SwitchBox.js b/components/発車時刻表/LED_Vision_Component/SwitchBox.js new file mode 100644 index 0000000..bd19c6c --- /dev/null +++ b/components/発車時刻表/LED_Vision_Component/SwitchBox.js @@ -0,0 +1,25 @@ +import { Text } from "react-native"; +import { Switch } from "react-native-elements"; +import { AS } from "../../../storageControl"; +export const SwitchBox = (props) => { + const { value, setValue, setKey, title } = props; + const textStyle = { + alignItems: "center", + alignContent: "center", + textAlign: "center", + textAlignVertical: "center", + color: "white", + }; + return ( + <> + {title} + { + AS.setItem(setKey, v.toString()); + setValue(v); + }} + /> + + ); +}; diff --git a/components/発車時刻表/LED_vidion.js b/components/発車時刻表/LED_vidion.js index fb1a4bc..4ad2382 100644 --- a/components/発車時刻表/LED_vidion.js +++ b/components/発車時刻表/LED_vidion.js @@ -1,6 +1,5 @@ import React, { useState, useEffect } from "react"; import { View, Text, TouchableOpacity } from "react-native"; -import { Switch } from "react-native-elements"; import { widthPercentageToDP as wp } from "react-native-responsive-screen"; import LottieView from "lottie-react-native"; import { Ionicons } from "@expo/vector-icons"; @@ -14,6 +13,7 @@ import { useCurrentTrain } from "../../stateBox/useCurrentTrain"; import { useAreaInfo } from "../../stateBox/useAreaInfo"; import { SheetManager } from "react-native-actions-sheet"; import { AS } from "../../storageControl"; +import { SwitchBox } from "./LED_Vision_Component/SwitchBox"; /** * @@ -86,15 +86,7 @@ export default function LED_vision(props) { } }); setStationDiagram(returnData); - if ( - station.some((s) => { - return areaStationID.includes(s.StationNumber); - }) - ) { - setIsInfoArea(true); - } else { - setIsInfoArea(false); - } + setIsInfoArea(station.some((s) => areaStationID.includes(s.StationNumber))); }, [trainDiagram, station]); const [trainTimeAndNumber, setTrainTimeAndNumber] = useState(null); @@ -217,14 +209,16 @@ export default function LED_vision(props) {
{selectedTrain.map((d) => ( ))} {areaString != "" && isInfoArea && ( @@ -300,56 +294,44 @@ const Footer = (props) => { setFinalSwitch, } = props; - const textStyle = { - alignItems: "center", - alignContent: "center", - textAlign: "center", - textAlignVertical: "center", - color: "white", - }; return ( - 種別名 / 列番 - { - AS.setItem("LEDSettings/trainIDSwitch", value.toString()); - setTrainIDSwitch(value); - }} + setValue={setTrainIDSwitch} + setKey="LEDSettings/trainIDSwitch" + title="種別名 / 列番" /> - 列車情報 - { - AS.setItem("LEDSettings/trainDescriptionSwitch", value.toString()); - setTrainDescriptionSwitch(value); - }} + setValue={setTrainDescriptionSwitch} + setKey="LEDSettings/trainDescriptionSwitch" + title="列車情報" /> - 当駅止表示 - { - AS.setItem("LEDSettings/finalSwitch", value.toString()); - setFinalSwitch(value); - }} + setValue={setFinalSwitch} + setKey="LEDSettings/finalSwitch" + title="当駅止表示" /> ); }; -const EachData = ({ - d, - trainIDSwitch, - trainDescriptionSwitch, - station, - customTrainDataDetector, - navigate, - originalStationList, - openStationACFromEachTrainInfo, -}) => { +const EachData = (props) => { + const { + d, + trainIDSwitch, + trainDescriptionSwitch, + station, + customTrainDataDetector, + navigate, + originalStationList, + openStationACFromEachTrainInfo, + } = props; const { currentTrain } = useCurrentTrain(); const openTrainInfo = (d) => { let TrainNumber = "";