dayjsの投入と各種調整

This commit is contained in:
harukin-OneMix4 2024-01-15 03:39:47 +09:00
parent 5a7e0bcd99
commit d6a2846f6b

View File

@ -27,6 +27,7 @@ import {
import lineColorList from "../../assets/originData/lineColorList"; import lineColorList from "../../assets/originData/lineColorList";
import { useCurrentTrain } from "../../stateBox/useCurrentTrain"; import { useCurrentTrain } from "../../stateBox/useCurrentTrain";
import { checkDuplicateTrainData } from "../../lib/checkDuplicateTrainData"; import { checkDuplicateTrainData } from "../../lib/checkDuplicateTrainData";
import dayjs from "dayjs";
export const EachTrainInfo = (props) => { export const EachTrainInfo = (props) => {
if (!props.payload) return <></>; if (!props.payload) return <></>;
@ -528,44 +529,42 @@ const StationButton = ({
currentTrainData, currentTrainData,
openStationACFromEachTrainInfo, openStationACFromEachTrainInfo,
}) => { }) => {
const [station, se, time] = i.split(","); const [station, se, time] = i.split(","); // 阿波池田,発,6:21
const Stations = stationList.map((a) => const Stations = stationList
a.filter((d) => d.StationName == station) .map((a) => a.filter((d) => d.StationName == station))
); .reduce((newArray, e) => newArray.concat(e), []);
/*Array [
Object {
"StationName": "佐古",
"StationNumber": "T01",
},
Object {
"StationName": "佐古",
"StationNumber": "B01",
},
] */
const StationNumbers = const StationNumbers =
Stations && Stations &&
Stations.reduce((newArray, e) => { Stations.filter((d) => d.StationNumber).map((d) => d.StationNumber);
return newArray.concat(e); // Array [ "T01", "B01",]
}, []) const lineIDs = [];
.filter((d) => d.StationNumber) const EachIDs = [];
.map((d) => d.StationNumber); StationNumbers.forEach((d) => {
const textArray = d.split("");
lineIDs.push(textArray.filter((s) => "A" < s && s < "Z").join(""));
EachIDs.push(textArray.filter((s) => "0" <= s && s <= "9").join(""));
});
// Array [ "T", "B",]
// Array [ "01", "01",]
const colorIDs = const dates = dayjs()
StationNumbers != null .set("hour", parseInt(time.split(":")[0]))
? StationNumbers.map((d) => { .set("minute", parseInt(time.split(":")[1]));
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)) { if (!isNaN(currentTrainData?.delay)) {
date.setMinutes(date.getMinutes() + currentTrainData?.delay); dates.add(currentTrainData?.delay, "minute");
} }
const timeString = dates.format("HH:mm").split(":");
const timeString = date.toTimeString().split(" ")[0].split(":");
return ( return (
<TouchableWithoutFeedback <TouchableWithoutFeedback
onPress={() => openStationACFromEachTrainInfo(station)} onPress={() => openStationACFromEachTrainInfo(station)}
@ -581,13 +580,13 @@ const StationButton = ({
height: "101%", height: "101%",
}} }}
> >
{colorIDs.map((color, index) => ( {lineIDs.map((lineID, index) => (
<View <View
style={{ style={{
backgroundColor: lineColorList[color], backgroundColor: lineColorList[lineID],
flex: 1, flex: 1,
}} }}
key={color} key={lineID}
> >
<View style={{ flex: 1 }} /> <View style={{ flex: 1 }} />
<Text <Text
@ -598,16 +597,8 @@ const StationButton = ({
fontWeight: "bold", fontWeight: "bold",
}} }}
> >
{colorIDs[index]} {lineIDs[index]}
</Text> {"\n"}
<Text
style={{
color: "white",
textAlign: "center",
fontSize: 10,
fontWeight: "bold",
}}
>
{EachIDs[index]} {EachIDs[index]}
</Text> </Text>
<View style={{ flex: 1 }} /> <View style={{ flex: 1 }} />
@ -626,14 +617,7 @@ const StationButton = ({
<Text style={{ fontSize: 20 }}>{station}</Text> <Text style={{ fontSize: 20 }}>{station}</Text>
<View style={{ flex: 1 }} /> <View style={{ flex: 1 }} />
{points && points.findIndex((d) => d == index) >= 0 ? ( {points && points.findIndex((d) => d == index) >= 0 ? (
<Text <Text style={{ fontSize: 20, marginRight: 70 }}>🚊</Text>
style={{
fontSize: 20,
marginRight: 70,
}}
>
🚊
</Text>
) : null} ) : null}
{!isNaN(currentTrainData?.delay) && currentTrainData?.delay != 0 && ( {!isNaN(currentTrainData?.delay) && currentTrainData?.delay != 0 && (
<Text <Text