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