PDF表示切替機能実装

This commit is contained in:
harukin-OneMix4 2023-12-23 03:43:32 +09:00
parent 305d386fcc
commit 6233c94a80
2 changed files with 41 additions and 9 deletions

View File

@ -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,7 +81,9 @@ export const StationDeteilView = (props) => {
currentStation={currentStation}
originalStationList={originalStationList}
oP={() => {
navigate("howto", {
usePDFView == "true"
? Linking.openURL(currentStation[0].StationTimeTable)
: navigate("howto", {
info,
onExit,
});
@ -141,7 +149,9 @@ export const StationDeteilView = (props) => {
icon={<FontAwesome name="table" color="white" size={50} />}
flex={1}
onPressButton={() => {
navigate("howto", {
usePDFView == "true"
? Linking.openURL(currentStation[0].StationTimeTable)
: navigate("howto", {
info,
onExit,
});

View File

@ -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())}
/>
</View>
<View style={{ flexDirection: "row", padding: 10 }}>
<Text
style={{
fontSize: 25,
alignItems: "center",
alignContent: "center",
textAlign: "center",
textAlignVertical: "center",
}}
>
時刻表PDFをアプリ外で表示
</Text>
<View style={{ flex: 1 }} />
<Switch
value={usePDFView == "true" ? true : false}
color={usePDFView == "true" ? "red" : null}
onValueChange={(value) => setUsePDFView(value.toString())}
/>
</View>
<View style={{ flexDirection: "row", padding: 10 }}>
<Text
style={{
@ -158,7 +179,7 @@ export default function Setting(props) {
textAlignVertical: "center",
}}
>
releaseChannel: {Updates.releaseChannel}
releaseChannel: {Updates.channel}
</Text>
<View style={{ flex: 1 }} />
</View>
@ -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(() => {