項目の軽い整理
This commit is contained in:
parent
b50937c63e
commit
d6664fa45f
@ -17,12 +17,7 @@ import { SheetManager } from "react-native-actions-sheet";
|
|||||||
import { useNavigation } from "@react-navigation/native";
|
import { useNavigation } from "@react-navigation/native";
|
||||||
export default function AllTrainDiagramView() {
|
export default function AllTrainDiagramView() {
|
||||||
const { navigate } = useNavigation();
|
const { navigate } = useNavigation();
|
||||||
const { allTrainDiagram } = useAllTrainDiagram();
|
const { keyList } = useAllTrainDiagram();
|
||||||
const [keyList, setKeyList] = useState(); // 第二要素
|
|
||||||
useEffect(
|
|
||||||
() => allTrainDiagram && setKeyList(Object.keys(allTrainDiagram)),
|
|
||||||
[]
|
|
||||||
);
|
|
||||||
const [input, setInput] = useState(""); // 文字入力
|
const [input, setInput] = useState(""); // 文字入力
|
||||||
const [keyBoardVisible, setKeyBoardVisible] = useState(false);
|
const [keyBoardVisible, setKeyBoardVisible] = useState(false);
|
||||||
|
|
||||||
@ -48,13 +43,10 @@ export default function AllTrainDiagramView() {
|
|||||||
parseInt(d.replace("M", "").replace("D", "")) - train.trainNumDistance;
|
parseInt(d.replace("M", "").replace("D", "")) - train.trainNumDistance;
|
||||||
TrainNumber = timeInfo + "号";
|
TrainNumber = timeInfo + "号";
|
||||||
}
|
}
|
||||||
|
const type = getTrainType(train.type).data;
|
||||||
|
const limited = `${type}:${train.trainName}${TrainNumber}`;
|
||||||
const payload = {
|
const payload = {
|
||||||
data: {
|
data: { trainNum: d, limited },
|
||||||
trainNum: d,
|
|
||||||
limited: `${getTrainType(train.type).data}:${
|
|
||||||
train.trainName
|
|
||||||
}${TrainNumber}`,
|
|
||||||
},
|
|
||||||
navigate,
|
navigate,
|
||||||
from: "AllTrainIDList",
|
from: "AllTrainIDList",
|
||||||
};
|
};
|
||||||
@ -67,11 +59,9 @@ export default function AllTrainDiagramView() {
|
|||||||
<FlatList
|
<FlatList
|
||||||
style={{ flex: 1 }}
|
style={{ flex: 1 }}
|
||||||
data={keyList?.filter((d) => d.includes(input))}
|
data={keyList?.filter((d) => d.includes(input))}
|
||||||
renderItem={({ item }) => (
|
renderItem={({ item }) => <Item {...{ openTrainInfo, id: item }} />}
|
||||||
<Item openTrainInfo={openTrainInfo} id={item} />
|
|
||||||
)}
|
|
||||||
keyExtractor={(item) => item}
|
keyExtractor={(item) => item}
|
||||||
initialNumToRender={100}
|
//initialNumToRender={100}
|
||||||
/>
|
/>
|
||||||
<KeyboardAvoidingView
|
<KeyboardAvoidingView
|
||||||
behavior="padding"
|
behavior="padding"
|
||||||
@ -93,13 +83,9 @@ export default function AllTrainDiagramView() {
|
|||||||
>
|
>
|
||||||
<TextInput
|
<TextInput
|
||||||
placeholder="列番を入力してフィルタリングします。"
|
placeholder="列番を入力してフィルタリングします。"
|
||||||
onFocus={() => {
|
onFocus={() => setKeyBoardVisible(true)}
|
||||||
setKeyBoardVisible(true);
|
|
||||||
}}
|
|
||||||
onEndEditing={() => {}}
|
onEndEditing={() => {}}
|
||||||
onChange={(ret) => {
|
onChange={(ret) => setInput(ret.nativeEvent.text)}
|
||||||
setInput(ret.nativeEvent.text);
|
|
||||||
}}
|
|
||||||
value={input}
|
value={input}
|
||||||
style={{ flex: 1 }}
|
style={{ flex: 1 }}
|
||||||
/>
|
/>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useRef, useState, useEffect } from "react";
|
import React, { useRef, useState, useEffect, useLayoutEffect } from "react";
|
||||||
import { View, Text, TouchableOpacity, Linking } from "react-native";
|
import { View, Text, TouchableOpacity, Linking } from "react-native";
|
||||||
import MapView, { Marker } from "react-native-maps";
|
import MapView, { Marker } from "react-native-maps";
|
||||||
import { MaterialCommunityIcons, Ionicons } from "@expo/vector-icons";
|
import { MaterialCommunityIcons, Ionicons } from "@expo/vector-icons";
|
||||||
@ -23,8 +23,8 @@ export default function TrainMenu({ style }) {
|
|||||||
} = useTrainMenu();
|
} = useTrainMenu();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const stationPinData = [];
|
const stationPinData = [];
|
||||||
Object.keys(stationData).map((d, indexBase) => {
|
Object.keys(stationData).forEach((d, indexBase) => {
|
||||||
stationData[d].map((D, index) => {
|
stationData[d].forEach((D, index) => {
|
||||||
if (!D.StationMap) return null;
|
if (!D.StationMap) return null;
|
||||||
if (selectedLine && selectedLine != d) return;
|
if (selectedLine && selectedLine != d) return;
|
||||||
const latlng = D.StationMap.replace(
|
const latlng = D.StationMap.replace(
|
||||||
@ -43,7 +43,7 @@ export default function TrainMenu({ style }) {
|
|||||||
});
|
});
|
||||||
setStationPin(stationPinData);
|
setStationPin(stationPinData);
|
||||||
}, [stationData, selectedLine]);
|
}, [stationData, selectedLine]);
|
||||||
useEffect(() => {
|
useLayoutEffect(() => {
|
||||||
mapRef.current.fitToCoordinates(
|
mapRef.current.fitToCoordinates(
|
||||||
stationPin.map(({ latlng }) => ({
|
stationPin.map(({ latlng }) => ({
|
||||||
latitude: parseFloat(latlng[0]),
|
latitude: parseFloat(latlng[0]),
|
||||||
|
@ -6,12 +6,15 @@ const initialState = {
|
|||||||
|
|
||||||
const AllTrainDiagramContext = createContext(initialState);
|
const AllTrainDiagramContext = createContext(initialState);
|
||||||
|
|
||||||
export const useAllTrainDiagram = () => {
|
export const useAllTrainDiagram = () => useContext(AllTrainDiagramContext);
|
||||||
return useContext(AllTrainDiagramContext);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const AllTrainDiagramProvider = ({ children }) => {
|
export const AllTrainDiagramProvider = ({ children }) => {
|
||||||
const [allTrainDiagram, setAllTrainDiagram] = useState();
|
const [allTrainDiagram, setAllTrainDiagram] = useState();
|
||||||
|
const [keyList, setKeyList] = useState(); // 第二要素
|
||||||
|
useEffect(
|
||||||
|
() => allTrainDiagram && setKeyList(Object.keys(allTrainDiagram)),
|
||||||
|
[allTrainDiagram]
|
||||||
|
);
|
||||||
const customData = {};
|
const customData = {};
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetch(
|
fetch(
|
||||||
@ -55,7 +58,7 @@ export const AllTrainDiagramProvider = ({ children }) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<AllTrainDiagramContext.Provider
|
<AllTrainDiagramContext.Provider
|
||||||
value={{ allTrainDiagram, setAllTrainDiagram }}
|
value={{ allTrainDiagram, setAllTrainDiagram,keyList }}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
</AllTrainDiagramContext.Provider>
|
</AllTrainDiagramContext.Provider>
|
||||||
|
Loading…
Reference in New Issue
Block a user