diff --git a/App.js b/App.js
index 028e4cf..0c5f388 100644
--- a/App.js
+++ b/App.js
@@ -194,7 +194,6 @@ const Top = ({
@@ -284,6 +283,14 @@ function MenuPage({
>
{(props) => }
+
+ {(props) => }
+
);
}
diff --git a/Apps.js b/Apps.js
index fc05805..df1dd6b 100644
--- a/Apps.js
+++ b/Apps.js
@@ -148,7 +148,7 @@ export default function Apps({
urlcache = event.url;
if (event.url.includes("https://train.jr-shikoku.co.jp/usage.htm")) {
- if (Platform.OS === "android") navigate("howto");
+ if (Platform.OS === "android") navigate("howto", { info: event.url });
webview?.current.goBack();
//Actions.howto();
} else if (
@@ -224,6 +224,11 @@ export default function Apps({
favoriteStation={favoriteStation}
setFavoriteStation={setFavoriteStation}
busAndTrainData={busAndTrainData}
+ navigate={navigate}
+ onExit={() => {
+ StationBoardAcSR.current?.setModalVisible();
+ navigate("Apps");
+ }}
/>
);
diff --git a/components/ActionSheetComponents/StationDeteilView.js b/components/ActionSheetComponents/StationDeteilView.js
index fbc4d17..b9dcc6e 100644
--- a/components/ActionSheetComponents/StationDeteilView.js
+++ b/components/ActionSheetComponents/StationDeteilView.js
@@ -29,6 +29,8 @@ export const StationDeteilView = (props) => {
favoriteStation,
setFavoriteStation,
busAndTrainData,
+ navigate,
+ onExit,
} = props;
const [trainBus, setTrainBus] = useState();
useEffect(() => {
@@ -41,7 +43,13 @@ export const StationDeteilView = (props) => {
}
setTrainBus(data[0]);
}, [currentStation]);
-
+ const info =
+ currentStation &&
+ (currentStation[0].StationTimeTable.match(".pdf")
+ ? `https://docs.google.com/viewer?url=${encodeURI(
+ currentStation[0].StationTimeTable
+ )}&embedded=true`
+ : currentStation[0].StationTimeTable);
return (
{
originalStationList={originalStationList}
favoriteStation={favoriteStation}
setFavoriteStation={setFavoriteStation}
- oP={() => Linking.openURL(currentStation[0].StationTimeTable)}
+ oP={() => {
+ navigate("howto", {
+ info,
+ onExit,
+ });
+ StationBoardAcSR.current?.hide();
+ }}
+ oLP={() => Linking.openURL(currentStation[0].StationTimeTable)}
/>
)}
@@ -99,6 +114,21 @@ export const StationDeteilView = (props) => {
currentStation[0].JrHpUrl &&
currentStation[0].StationNumber != "M12" && (
<駅構内図 //高松/阿波池田&後免&須崎kounai.png児島例外/
+ oP={() => {
+ navigate("howto", {
+ info:
+ currentStation[0].JrHpUrl.replace("/index.html", "/") +
+ "/kounai_map.html",
+ onExit,
+ });
+ StationBoardAcSR.current?.hide();
+ }}
+ oLP={() => {
+ Linking.openURL(
+ currentStation[0].JrHpUrl.replace("/index.html", "/") +
+ "/kounai_map.html"
+ );
+ }}
uri={currentStation[0].JrHpUrl.replace("/index.html", "/")}
/>
)}
@@ -109,7 +139,14 @@ export const StationDeteilView = (props) => {
backgroundColor={"#AD7FA8"}
icon={}
flex={1}
- onPressButton={() =>
+ onPressButton={() => {
+ navigate("howto", {
+ info: currentStation[0].JrHpUrl,
+ onExit,
+ });
+ StationBoardAcSR.current?.hide();
+ }}
+ onLongPressButton={() =>
Linking.openURL(currentStation[0].JrHpUrl)
}
>
@@ -121,7 +158,14 @@ export const StationDeteilView = (props) => {
backgroundColor={"#8F5902"}
icon={}
flex={1}
- onPressButton={() =>
+ onPressButton={() => {
+ navigate("howto", {
+ info,
+ onExit,
+ });
+ StationBoardAcSR.current?.hide();
+ }}
+ onLongPressButton={() =>
Linking.openURL(currentStation[0].StationTimeTable)
}
>
@@ -145,7 +189,14 @@ export const StationDeteilView = (props) => {
backgroundColor={"#CE5C00"}
icon={}
flex={1}
- onPressButton={() => Linking.openURL(trainBus.address)}
+ onPressButton={() => {
+ navigate("howto", {
+ info: trainBus.address,
+ onExit,
+ });
+ StationBoardAcSR.current?.hide();
+ }}
+ onLongPressButton={() => Linking.openURL(trainBus.address)}
>
並行バス
@@ -312,7 +363,8 @@ const 駅構内図 = (props) => {
alignItems: "center",
margin: 2,
}}
- onPress={() => Linking.openURL(props.uri + "/kounai_map.html")}
+ onPress={props.oP}
+ onLongPress={props.oLP}
//onPress={() => setOpen(!open)}
>
diff --git a/components/atom/TicketBox.js b/components/atom/TicketBox.js
index 6d34b95..8fc3a33 100644
--- a/components/atom/TicketBox.js
+++ b/components/atom/TicketBox.js
@@ -1,7 +1,14 @@
import { TouchableOpacity, Text } from "react-native";
export const TicketBox = (props) => {
- const { icon, backgroundColor, flex, onPressButton, children } = props;
+ const {
+ icon,
+ backgroundColor,
+ flex,
+ onPressButton,
+ children,
+ onLongPressButton,
+ } = props;
return (
{
alignItems: "center",
}}
onPress={onPressButton}
+ onLongPress={onLongPressButton}
>
{children}
diff --git a/components/trainMenu.js b/components/trainMenu.js
index ed6af21..3069e1d 100644
--- a/components/trainMenu.js
+++ b/components/trainMenu.js
@@ -58,7 +58,11 @@ export default function TrainMenu({
backgroundColor={"#F89038"}
icon="train-car"
flex={1}
- onPressButton={() => navigate("howto")}
+ onPressButton={() =>
+ navigate("howto", {
+ info: "https://train.jr-shikoku.co.jp/usage.htm",
+ })
+ }
>
使い方
diff --git a/components/駅名表/Sign.js b/components/駅名表/Sign.js
index 7316205..943226a 100644
--- a/components/駅名表/Sign.js
+++ b/components/駅名表/Sign.js
@@ -21,6 +21,7 @@ export default function Sign(props) {
currentStation,
originalStationList,
oP,
+ oLP,
favoriteStation,
setFavoriteStation,
} = props;
@@ -91,7 +92,7 @@ export default function Sign(props) {
};
const lottieRef = useRef();
return (
-
+
(
-
-
- navigate("Apps")}>
-
-
- 閉じる
-
-
-
-
-);
+export default ({ navigation: { navigate }, route }) => {
+ const { info, onExit = () => navigate("Apps") } = route.params;
+
+ return (
+
+
+
+
+
+ 閉じる
+
+
+
+
+ );
+};
const styles = {
View: { height: "100%", backgroundColor: "#0099CC" },
touch: {
diff --git a/menu.js b/menu.js
index 6653032..ff2b52d 100644
--- a/menu.js
+++ b/menu.js
@@ -218,6 +218,11 @@ export default function Menu(props) {
favoriteStation={favoriteStation}
setFavoriteStation={setFavoriteStation}
busAndTrainData={busAndTrainData}
+ navigate={navigate}
+ onExit={() => {
+ StationBoardAcSR.current?.setModalVisible();
+ navigate("menu");
+ }}
/>