diff --git a/lib/initIcon.tsx b/lib/initIcon.tsx
index afc12fc..3dc8a82 100644
--- a/lib/initIcon.tsx
+++ b/lib/initIcon.tsx
@@ -9,30 +9,13 @@ export const initIcon = (
tabBarBadge: string,
isInfo: boolean
) => {
- switch (type) {
- case "Ionicons":
- return ({ focused, color, size }) => (
- <>
- {!!tabBarBadge && }
-
- >
- );
- case "AntDesign":
- return ({ focused, color, size }) => (
- <>
- {!!tabBarBadge && }
-
- >
- );
- }
+ const IconComponent = type == "Ionicons" ? Ionicons : AntDesign;
+ return ({ focused, color, size }) => (
+ <>
+ {!!tabBarBadge && }
+
+ >
+ );
};
type BadgeProps = { tabBarBadge: string; isInfo: boolean };
@@ -60,7 +43,7 @@ export const Badge: FC = ({ tabBarBadge, isInfo }) => {
shadowOffset: { width: 0, height: 0 },
shadowOpacity: 0.5,
shadowRadius: 4,
- elevation: 2
+ elevation: 2,
}}
>
diff --git a/ndView.tsx b/ndView.tsx
index bac2bc2..f7e91e8 100644
--- a/ndView.tsx
+++ b/ndView.tsx
@@ -1,12 +1,19 @@
-import React, { Ref, useRef, useState,useEffect } from "react";
-import { View, Platform, TouchableOpacity, StyleProp, ViewStyle,Linking } from "react-native";
+import React, { Ref, useRef, useState, useEffect } from "react";
+import {
+ View,
+ Platform,
+ TouchableOpacity,
+ StyleProp,
+ ViewStyle,
+ Linking,
+} from "react-native";
import { WebView } from "react-native-webview";
import Constants from "expo-constants";
import { Ionicons } from "@expo/vector-icons";
import { useNavigation } from "@react-navigation/native";
export default function tndView() {
const webview = useRef(null);
- const { navigate, addListener, isFocused } = useNavigation();
+ const { navigate, addListener, isFocused } = useNavigation();
const jsa = `
document.querySelector('.sitettl').style.display = 'none';
document.querySelector('.attention').style.display = 'none';
@@ -100,23 +107,23 @@ setInterval(() => {
});
}, 1000);
`;
- const goToTrainMenu = () =>{
- if (Platform.OS === "web") {
- Linking.openURL("https://www.jr-shikoku.co.jp/info/");
- setTimeout(() => {
- // @ts-ignore
- navigate("topMenu", { screen: "menu" });
- }, 100);
-
- return;
- }
- }
- useEffect(() => {
- // @ts-ignore
- const unsubscribe = addListener("tabPress", goToTrainMenu);
- return unsubscribe;
- }, [addListener]);
-
+ const goToTrainMenu = () => {
+ if (Platform.OS === "web") {
+ Linking.openURL("https://www.jr-shikoku.co.jp/info/");
+ setTimeout(() => {
+ // @ts-ignore
+ navigate("topMenu", { screen: "menu" });
+ }, 100);
+
+ return;
+ }
+ };
+ useEffect(() => {
+ // @ts-ignore
+ const unsubscribe = addListener("tabPress", goToTrainMenu);
+ return unsubscribe;
+ }, [addListener]);
+
return (
{
}
const ReloadButton = ({ onPress, top, LoadError = false }) => {
- const styles:StyleProp = {
+ const styles: StyleProp = {
position: "absolute",
top,
right: 10,
diff --git a/stateBox/useAllTrainDiagram.tsx b/stateBox/useAllTrainDiagram.tsx
index dcd6626..20134f3 100644
--- a/stateBox/useAllTrainDiagram.tsx
+++ b/stateBox/useAllTrainDiagram.tsx
@@ -1,7 +1,7 @@
import trainList from "@/assets/originData/trainList";
import useInterval from "@/lib/useInterval";
import { AS } from "@/storageControl";
-import React, { createContext, useContext, useEffect, useState } from "react";
+import React, { createContext, FC, useContext, useEffect, useState } from "react";
const initialState = {
allTrainDiagram: {},
setAllTrainDiagram: (e) => {},
@@ -18,8 +18,10 @@ type initialStateType = {
const AllTrainDiagramContext = createContext(initialState);
export const useAllTrainDiagram = () => useContext(AllTrainDiagramContext);
-
-export const AllTrainDiagramProvider = ({ children }) => {
+type Props = {
+ children: React.ReactNode;
+};
+export const AllTrainDiagramProvider:FC = ({ children }) => {
const [allTrainDiagram, setAllTrainDiagram] = useState(trainList);
const [allCustomTrainData, setAllCustomTrainData] = useState([]); // カスタム列車データ
const [keyList, setKeyList] = useState([]); // 第二要素
diff --git a/stateBox/useAreaInfo.tsx b/stateBox/useAreaInfo.tsx
index 9521b65..56c062f 100644
--- a/stateBox/useAreaInfo.tsx
+++ b/stateBox/useAreaInfo.tsx
@@ -1,4 +1,10 @@
-import React, { createContext, useContext, useState, useEffect } from "react";
+import React, {
+ createContext,
+ useContext,
+ useState,
+ useEffect,
+ FC,
+} from "react";
import useInterval from "../lib/useInterval";
const setoStationID = [
@@ -327,8 +333,6 @@ const areaStationPair = {
yodo: { id: "G", stationID: yodoStationID },
};
-
-
const initialState = {
areaInfo: "",
setAreaInfo: () => {},
@@ -351,8 +355,8 @@ const AreaInfoContext = createContext(initialState);
export const useAreaInfo = () => {
return useContext(AreaInfoContext);
};
-
-export const AreaInfoProvider = ({ children }) => {
+type props = { children: React.ReactNode };
+export const AreaInfoProvider: FC = ({ children }) => {
const [areaInfo, setAreaInfo] = useState("");
const [areaIconBadgeText, setAreaIconBadgeText] = useState("");
const [areaStationID, setAreaStationID] = useState([]);
diff --git a/stateBox/useBusAndTrainData.tsx b/stateBox/useBusAndTrainData.tsx
index df6939b..4232843 100644
--- a/stateBox/useBusAndTrainData.tsx
+++ b/stateBox/useBusAndTrainData.tsx
@@ -1,4 +1,10 @@
-import React, { createContext, useContext, useState, useEffect } from "react";
+import React, {
+ createContext,
+ useContext,
+ useState,
+ useEffect,
+ FC,
+} from "react";
import { AS } from "../storageControl";
import { useAllTrainDiagram } from "./useAllTrainDiagram";
const initialState = {
@@ -15,14 +21,16 @@ const BusAndTrainDataContext = createContext(initialState);
export const useBusAndTrainData = () => {
return useContext(BusAndTrainDataContext);
};
-
-export const BusAndTrainDataProvider = ({ children }) => {
+type props = { children: React.ReactNode };
+export const BusAndTrainDataProvider: FC = ({ children }) => {
const { allTrainDiagram } = useAllTrainDiagram();
- const [busAndTrainData, setBusAndTrainData] = useState<{
- address: string;
- name: string;
- type: "station-data" | "bus-stop" | "train-info";
- }[]>([]);
+ const [busAndTrainData, setBusAndTrainData] = useState<
+ {
+ address: string;
+ name: string;
+ type: "station-data" | "bus-stop" | "train-info";
+ }[]
+ >([]);
const [trainPairData, setTrainPairData] = useState([]);
useEffect(() => {
AS.getItem("busAndTrain202403")
@@ -57,7 +65,7 @@ export const BusAndTrainDataProvider = ({ children }) => {
});
return trainPairList;
};
- const getInfluencedTrainData = (trainNum:string) => {
+ const getInfluencedTrainData = (trainNum: string) => {
const trainPairList = initializeTrainPairList();
// 9253M ラマル
diff --git a/stateBox/useCurrentTrain.tsx b/stateBox/useCurrentTrain.tsx
index cd290e5..29d14b5 100644
--- a/stateBox/useCurrentTrain.tsx
+++ b/stateBox/useCurrentTrain.tsx
@@ -4,6 +4,7 @@ import React, {
useState,
useEffect,
useRef,
+ FC,
} from "react";
import { HeaderConfig } from "../lib/HeaderConfig";
@@ -48,8 +49,10 @@ const CurrentTrainContext = createContext(initialState);
export const useCurrentTrain = () => {
return useContext(CurrentTrainContext);
};
-
-export const CurrentTrainProvider = ({ children }) => {
+type props = {
+ children: React.ReactNode;
+}
+export const CurrentTrainProvider:FC = ({ children }) => {
const [currentTrain, setCurrentTrain] = useState([]); //現在在線中の全列車 { num: 列車番号, delay: 遅延時分(状態), Pos: 位置情報 }
const [currentTrainLoading, setCurrentTrainLoading] =
useState("loading");
diff --git a/stateBox/useTrainDelayData.tsx b/stateBox/useTrainDelayData.tsx
index 56087e3..ebf55d9 100644
--- a/stateBox/useTrainDelayData.tsx
+++ b/stateBox/useTrainDelayData.tsx
@@ -1,11 +1,11 @@
-import React, { createContext, useContext, useEffect, useState } from "react";
+import React, { createContext, FC, useContext, useEffect, useState } from "react";
const initialState = {
getTime: new Date(),
- setGetTime: () => {},
+ setGetTime: (e) => {},
loadingDelayData: true,
setLoadingDelayData: (loading) => {},
delayData: undefined,
- setDelayData: () => {},
+ setDelayData: (e) => {},
};
const TrainDelayDataContext = createContext(initialState);
@@ -13,8 +13,10 @@ const TrainDelayDataContext = createContext(initialState);
export const useTrainDelayData = () => {
return useContext(TrainDelayDataContext);
};
-
-export const TrainDelayDataProvider = ({ children }) => {
+type props = {
+ children: React.ReactNode;
+};
+export const TrainDelayDataProvider:FC = ({ children }) => {
const [delayData, setDelayData] = useState(undefined);
const [getTime, setGetTime] = useState(new Date());
const [loadingDelayData, setLoadingDelayData] = useState(true);
diff --git a/stateBox/useTrainMenu.tsx b/stateBox/useTrainMenu.tsx
index a36f791..31aa404 100644
--- a/stateBox/useTrainMenu.tsx
+++ b/stateBox/useTrainMenu.tsx
@@ -1,4 +1,10 @@
-import React, { createContext, useContext, useState, useEffect } from "react";
+import React, {
+ createContext,
+ useContext,
+ useState,
+ useEffect,
+ FC,
+} from "react";
import { ASCore } from "../storageControl";
@@ -30,8 +36,8 @@ const initialState = {
setTrainInfo: (e) => {},
trainMenu: "true",
setTrainMenu: (e) => {},
- updatePermission : false,
- setUpdatePermission : (e) => {},
+ updatePermission: false,
+ setUpdatePermission: (e) => {},
injectJavascript: "",
};
@@ -40,33 +46,36 @@ const TrainMenuContext = createContext(initialState);
export const useTrainMenu = () => {
return useContext(TrainMenuContext);
};
-
-export const TrainMenuProvider = ({ children }) => {
+type props = { children: React.ReactNode };
+export const TrainMenuProvider: FC = ({ children }) => {
const { expoPushToken } = useNotification();
const [selectedLine, setSelectedLine] = useState(undefined);
const [mapsStationData, setMapsStationData] = useState(undefined);
useEffect(() => {
getStationList2().then(setMapsStationData);
}, []);
-
+ type boolType = "true" | "false" | undefined;
//画面表示関連
- const [iconSetting, setIconSetting] = useState<"true" | "false" | undefined>(undefined);
- const [mapSwitch, setMapSwitch] = useState<"true" | "false" | undefined>(undefined);
- const [stationMenu, setStationMenu] = useState<"true" | "false" | undefined>(undefined);
+ const [iconSetting, setIconSetting] = useState(undefined);
+ const [mapSwitch, setMapSwitch] = useState(undefined);
+ const [stationMenu, setStationMenu] = useState(undefined);
const [LoadError, setLoadError] = useState(false);
//更新権限所有確認
const [updatePermission, setUpdatePermission] = useState(false);
- useEffect(()=>{
- fetch("https://n8n.haruk.in/webhook/data-edit-permission?token=" + expoPushToken).then((res)=>res.json())
- .then((res)=>{
- if(res.data == true){
- setUpdatePermission(true);
- }else{
- setUpdatePermission(false);
- }
- })
- }, [expoPushToken])
+ useEffect(() => {
+ fetch(
+ "https://n8n.haruk.in/webhook/data-edit-permission?token=" + expoPushToken
+ )
+ .then((res) => res.json())
+ .then((res) => {
+ if (res.data == true) {
+ setUpdatePermission(true);
+ } else {
+ setUpdatePermission(false);
+ }
+ });
+ }, [expoPushToken]);
//列車情報表示関連
const [trainInfo, setTrainInfo] = useState({