diff --git a/components/ActionSheetComponents/StationDeteilView.js b/components/ActionSheetComponents/StationDeteilView.js index a933c22..77764cd 100644 --- a/components/ActionSheetComponents/StationDeteilView.js +++ b/components/ActionSheetComponents/StationDeteilView.js @@ -10,6 +10,7 @@ import { widthPercentageToDP as wp } from "react-native-responsive-screen"; import lineColorList from "../../assets/originData/lineColorList"; import { getPDFViewURL } from "../../lib/getPdfViewURL"; import { useBusAndTrainData } from "../../stateBox/useBusAndTrainData"; +import { AS } from "../../storageControl"; export const StationDeteilView = (props) => { const { @@ -31,6 +32,11 @@ export const StationDeteilView = (props) => { } setTrainBus(data[0]); }, [currentStation]); + + const [usePDFView, setUsePDFView] = useState(undefined); + useEffect(() => { + AS.getItem("usePDFView").then(setUsePDFView); + }, []); const info = currentStation && (currentStation[0].StationTimeTable.match(".pdf") @@ -75,10 +81,12 @@ export const StationDeteilView = (props) => { currentStation={currentStation} originalStationList={originalStationList} oP={() => { - navigate("howto", { - info, - onExit, - }); + usePDFView == "true" + ? Linking.openURL(currentStation[0].StationTimeTable) + : navigate("howto", { + info, + onExit, + }); StationBoardAcSR.current?.hide(); }} oLP={() => Linking.openURL(currentStation[0].StationTimeTable)} @@ -141,10 +149,12 @@ export const StationDeteilView = (props) => { icon={} flex={1} onPressButton={() => { - navigate("howto", { - info, - onExit, - }); + usePDFView == "true" + ? Linking.openURL(currentStation[0].StationTimeTable) + : navigate("howto", { + info, + onExit, + }); StationBoardAcSR.current?.hide(); }} onLongPressButton={() => diff --git a/components/settings.js b/components/settings.js index dcc80c2..a429308 100644 --- a/components/settings.js +++ b/components/settings.js @@ -13,12 +13,14 @@ export default function Setting(props) { const [iconSetting, setIconSetting] = useState(undefined); const [mapSwitch, setMapSwitch] = useState(undefined); const [stationMenu, setStationMenu] = useState(undefined); + const [usePDFView, setUsePDFView] = useState(undefined); const [trainMenu, setTrainMenu] = useState(undefined); const [trainPosition, setTrainPosition] = useState(undefined); useEffect(() => { 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); }, []); @@ -96,6 +98,25 @@ export default function Setting(props) { onValueChange={(value) => setStationMenu(value.toString())} /> + + + 時刻表PDFをアプリ外で表示 + + + setUsePDFView(value.toString())} + /> + - releaseChannel: {Updates.releaseChannel} + releaseChannel: {Updates.channel} @@ -179,6 +200,7 @@ export default function Setting(props) { 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()), ]).then(() => {