差分調整9
This commit is contained in:
parent
d56c65cdb0
commit
5947bb58b8
11
Top.js
11
Top.js
@ -13,7 +13,6 @@ import FavoriteList from "./components/FavoriteList";
|
||||
import { optionData } from "./lib/stackOption";
|
||||
import { useNavigation } from "@react-navigation/native";
|
||||
import { useCurrentTrain } from "./stateBox/useCurrentTrain";
|
||||
import { ASCore } from "./storageControl";
|
||||
import { useTrainMenu } from "./stateBox/useTrainMenu";
|
||||
const Stack = createStackNavigator();
|
||||
export const Top = ({ navigationRef }) => {
|
||||
@ -21,14 +20,7 @@ export const Top = ({ navigationRef }) => {
|
||||
const { navigate, addListener } = useNavigation();
|
||||
|
||||
//地図用
|
||||
const { injectJavaScript, setInjectJavaScript } = useTrainMenu();
|
||||
|
||||
const [mapSwitch, setMapSwitch] = React.useState("false");
|
||||
|
||||
useEffect(() => {
|
||||
//地図スイッチ
|
||||
ASCore({ k: "mapSwitch", s: setMapSwitch, d: "false" });
|
||||
}, []);
|
||||
const { injectJavaScript, setInjectJavaScript, mapSwitch } = useTrainMenu();
|
||||
|
||||
const goToFavoriteList = () => navigate("favoriteList");
|
||||
|
||||
@ -37,6 +29,7 @@ export const Top = ({ navigationRef }) => {
|
||||
return unsubscribe;
|
||||
}, [{ navigate, addListener }]);
|
||||
|
||||
|
||||
const goToTrainMenu = () => {
|
||||
if (navigationRef.current?.getCurrentRoute().name == "Apps") {
|
||||
if (mapSwitch == "true") {
|
||||
|
@ -31,7 +31,7 @@ import { getType } from "../../lib/eachTrainInfoCoreLib/getType";
|
||||
import { searchSpecialTrain } from "../../lib/eachTrainInfoCoreLib/searchSpecialTrain";
|
||||
import { openBackTrainInfo } from "../../lib/eachTrainInfoCoreLib/openBackTrainInfo";
|
||||
import { ShowSpecialTrain } from "./EachTrainInfo/ShowSpecialTrain";
|
||||
import { useStationList } from "../../stateBox/useStationList";
|
||||
import { useTrainMenu } from "../../stateBox/useTrainMenu";
|
||||
import { HeaderText } from "./EachTrainInfoCore/HeaderText";
|
||||
|
||||
export const EachTrainInfoCore = ({
|
||||
@ -39,12 +39,11 @@ export const EachTrainInfoCore = ({
|
||||
data,
|
||||
openStationACFromEachTrainInfo,
|
||||
from,
|
||||
setTrainInfo,
|
||||
navigate,
|
||||
}) => {
|
||||
// const [actionSheetHorizonalScroll, setActionSheetHorizonalScroll] = useState(false);
|
||||
const { currentTrain } = useCurrentTrain();
|
||||
const { originalStationList } = useStationList();
|
||||
const { setTrainInfo, originalStationList } = useTrainMenu();
|
||||
const [currentTrainData, setCurrentTrainData] = useState();
|
||||
|
||||
// const [actionSheetHorizonalScroll, setActionSheetHorizonalScroll] = useState(false);
|
||||
|
@ -16,6 +16,7 @@ import { getStationList } from "../lib/getStationList";
|
||||
import { getTrainType } from "../lib/getTrainType";
|
||||
import { SheetManager } from "react-native-actions-sheet";
|
||||
import { useNavigation } from "@react-navigation/native";
|
||||
import { useTrainMenu } from "../stateBox/useTrainMenu";
|
||||
export default function AllTrainDiagramView() {
|
||||
const { navigate } = useNavigation();
|
||||
const { allTrainDiagram } = useAllTrainDiagram();
|
||||
|
@ -41,52 +41,13 @@ export default function Apps() {
|
||||
const { navigate } = useNavigation();
|
||||
const { isLandscape } = useDeviceOrientationChange();
|
||||
const handleLayout = () => {};
|
||||
const { setInjectJavaScript, mapsStationData } = useTrainMenu();
|
||||
|
||||
//画面表示関連
|
||||
const [iconSetting, setIconSetting] = useState(undefined);
|
||||
const [mapSwitch, setMapSwitch] = useState(undefined);
|
||||
const [stationMenu, setStationMenu] = useState(undefined);
|
||||
const [LoadError, setLoadError] = useState(false);
|
||||
|
||||
//列車情報表示関連
|
||||
const [trainInfo, setTrainInfo] = useState({
|
||||
trainNum: undefined,
|
||||
limited: undefined,
|
||||
trainData: undefined,
|
||||
});
|
||||
|
||||
//駅情報画面用
|
||||
const { originalStationList, setOriginalStationList } = useStationList();
|
||||
const [trainMenu, setTrainMenu] = useState("true");
|
||||
|
||||
//地図表示テキスト
|
||||
const injectJavascript = injectJavascriptData(
|
||||
const {
|
||||
setInjectJavaScript,
|
||||
mapSwitch,
|
||||
iconSetting,
|
||||
stationMenu,
|
||||
trainMenu
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
//ニュース表示
|
||||
AS.getItem("status")
|
||||
.then((d) => {
|
||||
if (d != news) navigate("news");
|
||||
})
|
||||
.catch(() => navigate("news"));
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
//列車アイコンスイッチ
|
||||
ASCore({ k: "iconSwitch", s: setIconSetting, d: "true", u: true });
|
||||
//地図スイッチ
|
||||
ASCore({ k: "mapSwitch", s: setMapSwitch, d: "false", u: true });
|
||||
//駅メニュースイッチ
|
||||
ASCore({ k: "stationSwitch", s: setStationMenu, d: "true", u: true });
|
||||
//列車メニュースイッチ
|
||||
ASCore({ k: "trainSwitch", s: setTrainMenu, d: "true", u: true });
|
||||
}, []);
|
||||
trainInfo,
|
||||
setTrainInfo,
|
||||
originalStationList,
|
||||
} = useTrainMenu();
|
||||
|
||||
const openStationACFromEachTrainInfo = async (stationName) => {
|
||||
await SheetManager.hide("EachTrainInfo");
|
||||
@ -151,7 +112,6 @@ export default function Apps() {
|
||||
data: trainInfo.trainNum ? trainInfo : undefined,
|
||||
openStationACFromEachTrainInfo,
|
||||
from: "Train",
|
||||
setTrainInfo,
|
||||
navigate,
|
||||
}}
|
||||
/>
|
||||
@ -163,7 +123,6 @@ export default function Apps() {
|
||||
setInjectJavaScript("");
|
||||
navigate("trainMenu", { webview });
|
||||
}}
|
||||
mapSwitch={mapSwitch == "true" ? "flex" : "none"}
|
||||
/>
|
||||
)}
|
||||
{isLandscape && trainInfo.trainNum && (
|
||||
@ -182,10 +141,9 @@ export default function Apps() {
|
||||
<ReloadButton
|
||||
onPress={() => Updates.reloadAsync()}
|
||||
right={isLandscape && trainInfo.trainNum ? (width / 100) * 40 : 0}
|
||||
LoadError={LoadError}
|
||||
/>
|
||||
) : (
|
||||
<NewMenu LoadError={LoadError} />
|
||||
<NewMenu/>
|
||||
)}
|
||||
</View>
|
||||
);
|
||||
|
@ -8,18 +8,19 @@ import {
|
||||
TextStyle,
|
||||
} from "react-native";
|
||||
import Constants from "expo-constants";
|
||||
import { useTrainMenu } from "../../stateBox/useTrainMenu";
|
||||
|
||||
const top = Platform.OS == "ios" ? Constants.statusBarHeight : 0;
|
||||
type MapsButtonProps = {
|
||||
onPress: () => void;
|
||||
mapSwitch: string;
|
||||
};
|
||||
type stylesType = {
|
||||
touch: TouchableOpacityProps["style"];
|
||||
text: TextStyle;
|
||||
};
|
||||
|
||||
export const MapsButton: FC<MapsButtonProps> = ({ onPress, mapSwitch }) => {
|
||||
export const MapsButton: FC<MapsButtonProps> = ({ onPress }) => {
|
||||
const { mapSwitch } = useTrainMenu();
|
||||
const styles: stylesType = {
|
||||
touch: {
|
||||
position: "absolute",
|
||||
|
@ -4,11 +4,13 @@ import { Ionicons } from "@expo/vector-icons";
|
||||
import * as Updates from "expo-updates";
|
||||
import Constants from "expo-constants";
|
||||
import { useCurrentTrain } from "../../stateBox/useCurrentTrain";
|
||||
import { useTrainMenu } from "../../stateBox/useTrainMenu";
|
||||
|
||||
const top = Platform.OS == "ios" ? Constants.statusBarHeight : 0;
|
||||
export const NewMenu = ({ LoadError }) => {
|
||||
export const NewMenu = () => {
|
||||
const { webview } = useCurrentTrain();
|
||||
const { width } = useWindowDimensions();
|
||||
const { LoadError } = useTrainMenu();
|
||||
return (
|
||||
<View
|
||||
style={{
|
||||
|
@ -18,11 +18,10 @@ type stylesType = {
|
||||
type ReloadButton = {
|
||||
onPress: () => void;
|
||||
right: number;
|
||||
mapSwitch: any;
|
||||
LoadError?: boolean;
|
||||
|
||||
}
|
||||
export const ReloadButton:FC<ReloadButton> = ({ onPress, mapSwitch, LoadError = false, right }) => {
|
||||
export const ReloadButton:FC<ReloadButton> = ({ onPress, right }) => {
|
||||
const { mapSwitch, LoadError = false } = useTrainMenu();
|
||||
const styles: stylesType = {
|
||||
touch: {
|
||||
position: "absolute",
|
||||
|
@ -12,19 +12,20 @@ import { SheetManager } from "react-native-actions-sheet";
|
||||
import { useNavigation } from "@react-navigation/native";
|
||||
import { useTrainMenu } from "../../stateBox/useTrainMenu";
|
||||
import { stationNamePair } from "../../lib/getStationList2";
|
||||
import { useStationList } from "../../stateBox/useStationList";
|
||||
export const AppsWebView = ({
|
||||
setLoadError,
|
||||
setTrainInfo,
|
||||
openStationACFromEachTrainInfo,
|
||||
injectJavascript,
|
||||
}) => {
|
||||
const { originalStationList } = useStationList();
|
||||
import { useTrainMenu } from "../../stateBox/useTrainMenu";
|
||||
export const AppsWebView = ({ openStationACFromEachTrainInfo }) => {
|
||||
const { webview, currentTrain } = useCurrentTrain();
|
||||
const { navigate } = useNavigation();
|
||||
const { favoriteStation } = useFavoriteStation();
|
||||
const { isLandscape } = useDeviceOrientationChange();
|
||||
const { setSelectedLine, mapsStationData: stationData } = useTrainMenu();
|
||||
const {
|
||||
setSelectedLine,
|
||||
mapsStationData: stationData,
|
||||
setLoadError,
|
||||
setTrainInfo,
|
||||
originalStationList,
|
||||
injectJavascript,
|
||||
} = useTrainMenu();
|
||||
var urlcache = "";
|
||||
let once = false;
|
||||
|
||||
|
@ -12,13 +12,13 @@ import { StationNumberMaker } from "./StationNumberMaker";
|
||||
import { NextPreStationLine } from "./NextPreStationLine";
|
||||
import { LottieDelayView } from "./LottieDelayView";
|
||||
import { AddressText } from "./AddressText";
|
||||
import { useStationList } from "../../stateBox/useStationList";
|
||||
import { useTrainMenu } from "../../stateBox/useTrainMenu";
|
||||
|
||||
export default function Sign(props) {
|
||||
const { currentStation, oP, oLP, isCurrentStation = false } = props;
|
||||
const { favoriteStation, setFavoriteStation } = useFavoriteStation();
|
||||
const [nexPrePosition, setNexPrePosition] = useState(0);
|
||||
const { originalStationList } = useStationList();
|
||||
const { originalStationList } = useTrainMenu();
|
||||
|
||||
const [preStation, setPreStation] = useState();
|
||||
const [nexStation, setNexStation] = useState();
|
||||
|
4
menu.js
4
menu.js
@ -30,12 +30,12 @@ import { useFavoriteStation } from "./stateBox/useFavoriteStation";
|
||||
import { SheetManager } from "react-native-actions-sheet";
|
||||
import { useTrainDelayData } from "./stateBox/useTrainDelayData";
|
||||
import { useNavigation } from "@react-navigation/native";
|
||||
import { useStationList } from "./stateBox/useStationList";
|
||||
import { useTrainMenu } from "./stateBox/useTrainMenu";
|
||||
|
||||
export default function Menu({ getCurrentTrain }) {
|
||||
const { navigate } = useNavigation();
|
||||
const { favoriteStation } = useFavoriteStation();
|
||||
const { originalStationList } = useStationList();
|
||||
const { originalStationList } = useTrainMenu();
|
||||
|
||||
//位置情報
|
||||
const [locationStatus, setLocationStatus] = useState(null);
|
||||
|
@ -1,5 +1,11 @@
|
||||
import React, { createContext, useContext, useState, useEffect } from "react";
|
||||
|
||||
import { AS, ASCore } from "../storageControl";
|
||||
|
||||
import { getStationList } from "../lib/getStationList";
|
||||
import { getStationList2 } from "../lib/getStationList2";
|
||||
import { injectJavascriptData } from "../lib/webViewInjectjavascript";
|
||||
|
||||
const initialState = {
|
||||
selectedLine: undefined,
|
||||
setSelectedLine: () => {},
|
||||
@ -7,6 +13,25 @@ const initialState = {
|
||||
setMapsStationData: () => {},
|
||||
injectJavaScript: "",
|
||||
setInjectJavaScript: () => {},
|
||||
iconSetting: undefined,
|
||||
setIconSetting: () => {},
|
||||
mapSwitch: undefined,
|
||||
setMapSwitch: () => {},
|
||||
stationMenu: undefined,
|
||||
setStationMenu: () => {},
|
||||
LoadError: false,
|
||||
setLoadError: () => {},
|
||||
trainInfo: {
|
||||
trainNum: undefined,
|
||||
limited: undefined,
|
||||
trainData: undefined,
|
||||
},
|
||||
setTrainInfo: () => {},
|
||||
originalStationList: [],
|
||||
setOriginalStationList: () => {},
|
||||
trainMenu: "true",
|
||||
setTrainMenu: () => {},
|
||||
injectJavascript: "",
|
||||
};
|
||||
|
||||
const TrainMenuContext = createContext(initialState);
|
||||
@ -20,10 +45,58 @@ export const TrainMenuProvider = ({ children }) => {
|
||||
const [mapsStationData, setMapsStationData] = useState(undefined);
|
||||
const [injectJavaScript, setInjectJavaScript] = useState();
|
||||
|
||||
useEffect(() => getStationList2().then(setMapsStationData), []);
|
||||
|
||||
//画面表示関連
|
||||
const [iconSetting, setIconSetting] = useState(undefined);
|
||||
const [mapSwitch, setMapSwitch] = useState(undefined);
|
||||
const [stationMenu, setStationMenu] = useState(undefined);
|
||||
const [LoadError, setLoadError] = useState(false);
|
||||
|
||||
//列車情報表示関連
|
||||
const [trainInfo, setTrainInfo] = useState({
|
||||
trainNum: undefined,
|
||||
limited: undefined,
|
||||
trainData: undefined,
|
||||
});
|
||||
|
||||
//駅情報画面用
|
||||
const [originalStationList, setOriginalStationList] = useState([]);
|
||||
const [trainMenu, setTrainMenu] = useState("true");
|
||||
useEffect(() => getStationList().then(setOriginalStationList), []);
|
||||
|
||||
//地図表示テキスト
|
||||
const injectJavascript = injectJavascriptData(
|
||||
mapSwitch,
|
||||
iconSetting,
|
||||
stationMenu,
|
||||
trainMenu
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
getStationList2().then(setMapsStationData);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
//ニュース表示
|
||||
AS.getItem("status")
|
||||
.then((d) => {
|
||||
if (d != news) navigate("news");
|
||||
})
|
||||
.catch(() => navigate("news"));
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
//列車アイコンスイッチ
|
||||
ASCore({ k: "iconSwitch", s: setIconSetting, d: "true", u: true });
|
||||
//地図スイッチ
|
||||
ASCore({ k: "mapSwitch", s: setMapSwitch, d: "false", u: true });
|
||||
//駅メニュースイッチ
|
||||
ASCore({ k: "stationSwitch", s: setStationMenu, d: "true", u: true });
|
||||
//列車メニュースイッチ
|
||||
ASCore({ k: "trainSwitch", s: setTrainMenu, d: "true", u: true });
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<TrainMenuContext.Provider
|
||||
value={{
|
||||
@ -33,6 +106,21 @@ export const TrainMenuProvider = ({ children }) => {
|
||||
setMapsStationData,
|
||||
injectJavaScript,
|
||||
setInjectJavaScript,
|
||||
iconSetting,
|
||||
setIconSetting,
|
||||
mapSwitch,
|
||||
setMapSwitch,
|
||||
stationMenu,
|
||||
setStationMenu,
|
||||
LoadError,
|
||||
setLoadError,
|
||||
trainInfo,
|
||||
setTrainInfo,
|
||||
originalStationList,
|
||||
setOriginalStationList,
|
||||
trainMenu,
|
||||
setTrainMenu,
|
||||
injectJavascript,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
|
Loading…
Reference in New Issue
Block a user