diff --git a/Apps.js b/Apps.js
index ffc568d..c7031f3 100644
--- a/Apps.js
+++ b/Apps.js
@@ -14,7 +14,7 @@ import * as Updates from "expo-updates";
import { AS } from "./storageControl";
import { news } from "./config/newsUpdate";
-import { getStationList, lineList } from "./lib/getStationList";
+import { getStationList, lineList, lineListPair } from "./lib/getStationList";
import { injectJavascriptData } from "./lib/webViewInjectjavascript";
import { checkDuplicateTrainData } from "./lib/checkDuplicateTrainData";
import { useFavoriteStation } from "./stateBox/useFavoriteStation";
@@ -25,6 +25,8 @@ import TrainMenu from "./components/trainMenu";
import { EachTrainInfoCore } from "./components/ActionSheetComponents/EachTrainInfoCore";
import { useNavigation } from "@react-navigation/native";
+import { useTrainMenu } from "./stateBox/useTrainMenu";
+import { stationNamePair } from "./lib/getStationList2";
/*
import StatusbarDetect from './StatusbarDetect';
var Status = StatusbarDetect(); */
@@ -37,6 +39,7 @@ export default function Apps({ stationData }) {
const { favoriteStation } = useFavoriteStation();
const { isLandscape, setIsLandscape } = useDeviceOrientationChange();
const handleLayout = () => {};
+ const { setSelectedLine } = useTrainMenu();
//画面表示関連
const [iconSetting, setIconSetting] = useState(undefined);
@@ -164,6 +167,13 @@ export default function Apps({ stationData }) {
});
return;
}
+ case "currentLines": {
+ const lineInfo = dataSet.currentLines.split("\n")[0];
+ const lineID = stationNamePair[lineInfo];
+
+ setSelectedLine(lineID);
+ return;
+ }
default: {
return;
}
diff --git a/components/trainMenu.js b/components/trainMenu.js
index 659ee7e..0894e8e 100644
--- a/components/trainMenu.js
+++ b/components/trainMenu.js
@@ -38,7 +38,7 @@ export default function TrainMenu({ stationData, style }) {
latitude: parseFloat(latlng[0]),
longitude: parseFloat(latlng[1]),
})),
- { edgePadding: { top: 100, bottom: 50, left: 50, right: 50 } } // Add margin values here
+ { edgePadding: { top: 100, bottom: 100, left: 50, right: 50 } } // Add margin values here
);
}, [stationPin]);
return (
@@ -97,6 +97,16 @@ export default function TrainMenu({ stationData, style }) {
}}
onPress={() => SheetManager.show("TrainMenuLineSelector")}
>
+
+ ▲ ここを押して路線をフィルタリングできます ▲
+
{selectedLine
? lineListPair[stationIDPair[selectedLine]]
- : "ここを押して路線をフィルタリングできます ▲"}
+ : "JR四国 対象全駅"}
diff --git a/lib/getStationList2.js b/lib/getStationList2.js
index 11397b8..e554828 100644
--- a/lib/getStationList2.js
+++ b/lib/getStationList2.js
@@ -32,3 +32,15 @@ export const stationIDPair = {
naruto: "N",
seto: "M",
};
+
+export const stationNamePair = {
+ "予讃線(高松 - 松山)": "yosan",
+ "予讃線・内子線(松山 - 内子 - 宇和島)": "uwajima",
+ "予讃線・伊予灘線(向井原 - 伊予大洲)": "uwajima2",
+ "土讃線(多度津 - 高知)": "dosan",
+ "土讃線(高知 - 窪川)": "dosan2",
+ "高徳線(高松 - 徳島)": "koutoku",
+ "徳島線(徳島 - 阿波池田)": "tokushima",
+ "鳴門線(池谷 - 鳴門)": "naruto",
+ "瀬戸大橋線(児島 - 宇多津)": "seto",
+};
diff --git a/lib/webViewInjectjavascript.js b/lib/webViewInjectjavascript.js
index 27a218d..b1ff812 100644
--- a/lib/webViewInjectjavascript.js
+++ b/lib/webViewInjectjavascript.js
@@ -696,7 +696,11 @@ const setStrings = () =>{
} catch (e) {}
}
-const textInsert = new MutationObserver( (mutations) => setStrings());
+const textInsert = new MutationObserver( (mutations) =>{
+ setStrings();
+ const currentLines = document.querySelector('#topHeader div').innerText;
+ window.ReactNativeWebView.postMessage(JSON.stringify({type:"currentLines",currentLines}));
+});
// 監視を開始
textInsert.observe(document.getElementById('disp'), {