diff --git a/components/ActionSheetComponents/EachTrainInfo.js b/components/ActionSheetComponents/EachTrainInfo.js
index 75ac54f..013b455 100644
--- a/components/ActionSheetComponents/EachTrainInfo.js
+++ b/components/ActionSheetComponents/EachTrainInfo.js
@@ -38,7 +38,6 @@ export const EachTrainInfo = (props) => {
from,
} = props.payload;
const [trainData, setTrainData] = useState([]);
- const [isTop, setIsTop] = useState(true);
const [currentPosition, setCurrentPosition] = useState([]);
const [trainPositionSwitch, setTrainPositionSwitch] = useState("false");
@@ -66,7 +65,7 @@ export const EachTrainInfo = (props) => {
})
.catch((d) => AS.setItem("trainPositionSwitch", "false"));
}, []);
- const insets = useSafeAreaInsets();
+ //bconst insets = useSafeAreaInsets();
const getStationData = (stationName) => {
const Stations = stationList.map((a) =>
a.filter((d) => d.StationName == stationName)
@@ -232,7 +231,6 @@ export const EachTrainInfo = (props) => {
trainPositionSwitch == "true" ? findReversalPoints(currentPosition) : [];
useEffect(() => {
- setIsTop(true);
if (!data.trainNum) return;
const TD = trainList[data.trainNum];
if (!TD) {
@@ -261,7 +259,7 @@ export const EachTrainInfo = (props) => {
const scrollHandlers = useScrollHandlers("scrollview-1", actionSheetRef);
return (
>}
ref={actionSheetRef}
drawUnderStatusBar={false}
@@ -336,72 +334,66 @@ export const EachTrainInfo = (props) => {
horizontal
pagingEnabled
>
-
+ {/*
-
-
- 現在地 {currentPosition.toString()}
-
-
- {currentTrainData?.Pos && currentTrainData?.Pos.match("~") ? (
- <>
-
- {
- currentTrainData?.Pos.replace("(下り)", "")
- .replace("(上り)", "")
- .split("~")[0]
- }
-
-
- ~
-
-
- {
- currentTrainData?.Pos.replace("(下り)", "")
- .replace("(上り)", "")
- .split("~")[1]
- }
-
- >
- ) : (
+
+
+ 行先
+
- {currentTrainData?.Pos}
+ 岡山
- )}
+
+
+
+
+ 車両案内
+
+
+
+ 宇多津でうずしお号と連結
+
+
-
+
{
}}
>
- {isNaN(currentTrainData?.delay) ? "状態" : "遅延時分"}
+ 編成(使用車両:2700系)
- {currentTrainData?.delay}
- {isNaN(currentTrainData?.delay) ? "" : "分"}
-
-
-
- 列番
-
- {currentTrainData?.num}
+ {"[<自][自>][アン自|指>][アン指|G>]"}
-
- {/*
-
-
- 行先
-
-
- 岡山
-
-
-
-
- 車両案内
-
-
- 宇多津でうずしお号と連結
-
-
-
-
-
-
- 編成(使用車両:2700系)
-
-
-
- {"[<自][自>][アン自|指>][アン指|G>]"}
-
-
-
- */}
+ */}
)}
{
maxHeight: heightPercentageToDP(
from == "AllTrainDiagramView" ? "70%" : "50%"
),
- }}
- onScroll={(e) => {
- if (!Platform.OS !== "android") return;
- setIsTop(e.nativeEvent.contentOffset.y < 0);
+ backgroundColor: "white",
}}
>
-
- {/* {
/>
ほげほげふがふが */}
- {trainData.map((i, index) => {
- const [station, se, time] = i.split(",");
- const Stations = stationList.map((a) =>
- a.filter((d) => d.StationName == station)
- );
- const StationNumbers =
- Stations &&
- Stations.reduce((newArray, e) => {
- return newArray.concat(e);
- }, [])
- .filter((d) => d.StationNumber)
- .map((d) => d.StationNumber);
+ {trainData.map((i, index) => (
+
+ ))}
- const colorIDs =
- StationNumbers != null
- ? StationNumbers.map((d) => {
- return d.split("").filter((s) => "A" < s && s < "Z");
- }).reduce((newArray, e) => {
- return newArray.concat(e);
- }, [])
- : [];
- const EachIDs =
- StationNumbers != null
- ? StationNumbers.map((d) => {
- return d
- .split("")
- .filter((s) => "0" <= s && s <= "9")
- .join("");
- })
- : [];
- const date = new Date();
- if (time) {
- date.setHours(time.split(":")[0], time.split(":")[1]);
- }
- if (!isNaN(currentTrainData?.delay)) {
- date.setMinutes(date.getMinutes() + currentTrainData?.delay);
- }
- const timeString = date.toTimeString().split(" ")[0].split(":");
- return (
- openStationACFromEachTrainInfo(station)}
- key={station}
- >
-
-
- {colorIDs.map((color, index) => (
-
-
-
- {colorIDs[index]}
-
-
- {EachIDs[index]}
-
-
-
- ))}
-
-
- {station}
-
- {points && points.findIndex((d) => d == index) >= 0 ? (
-
- 🚊
-
- ) : null}
- {!isNaN(currentTrainData?.delay) &&
- currentTrainData?.delay != 0 && (
-
- {time}
-
- )}
-
- {timeString[0]}:{timeString[1]}
-
-
- {se?.replace("発", "出発").replace("着", "到着")}
-
-
-
-
- );
- })}
-
-
-
-
-
-
+
+
+
+
@@ -766,3 +519,224 @@ export const EachTrainInfo = (props) => {
);
};
+
+const StationButton = ({
+ i,
+ index,
+ stationList,
+ points,
+ currentTrainData,
+ openStationACFromEachTrainInfo,
+}) => {
+ const [station, se, time] = i.split(",");
+ const Stations = stationList.map((a) =>
+ a.filter((d) => d.StationName == station)
+ );
+ const StationNumbers =
+ Stations &&
+ Stations.reduce((newArray, e) => {
+ return newArray.concat(e);
+ }, [])
+ .filter((d) => d.StationNumber)
+ .map((d) => d.StationNumber);
+
+ const colorIDs =
+ StationNumbers != null
+ ? StationNumbers.map((d) => {
+ return d.split("").filter((s) => "A" < s && s < "Z");
+ }).reduce((newArray, e) => {
+ return newArray.concat(e);
+ }, [])
+ : [];
+ const EachIDs =
+ StationNumbers != null
+ ? StationNumbers.map((d) => {
+ return d
+ .split("")
+ .filter((s) => "0" <= s && s <= "9")
+ .join("");
+ })
+ : [];
+ const date = new Date();
+ if (time) {
+ date.setHours(time.split(":")[0], time.split(":")[1]);
+ }
+ if (!isNaN(currentTrainData?.delay)) {
+ date.setMinutes(date.getMinutes() + currentTrainData?.delay);
+ }
+
+ const timeString = date.toTimeString().split(" ")[0].split(":");
+ return (
+ openStationACFromEachTrainInfo(station)}
+ key={station}
+ >
+
+
+ {colorIDs.map((color, index) => (
+
+
+
+ {colorIDs[index]}
+
+
+ {EachIDs[index]}
+
+
+
+ ))}
+
+
+ {station}
+
+ {points && points.findIndex((d) => d == index) >= 0 ? (
+
+ 🚊
+
+ ) : null}
+ {!isNaN(currentTrainData?.delay) && currentTrainData?.delay != 0 && (
+
+ {time}
+
+ )}
+
+ {timeString[0]}:{timeString[1]}
+
+
+ {se?.replace("発", "出発").replace("着", "到着")}
+
+
+
+
+ );
+};
+
+const TrainDataView = ({ currentTrainData, currentPosition }) => {
+ return (
+
+
+
+
+
+
+
+ );
+};
+
+const StateBox = ({ text, title }) => (
+
+ {title}
+
+
+ {text?.match("~") ? (
+ <>
+ {text.split("~")[0]}
+ ~
+ {text.split("~")[1]}
+ >
+ ) : (
+ {text}
+ )}
+
+
+);
+const boxStyle = {
+ flex: 1,
+ backgroundColor: "white",
+ borderRadius: 10,
+ padding: 10,
+ margin: 10,
+};
+const boxTextStyle = {
+ fontSize: 28,
+ color: "#0099CC",
+ textAlign: "right",
+};