フォント実装、臨時列車のフィルタリング機能強化

This commit is contained in:
harukin-expo-dev-env
2025-09-19 14:15:45 +00:00
parent 1b26afb37b
commit 8ddf3a3e8d
5 changed files with 84 additions and 34 deletions

View File

@@ -11,13 +11,16 @@ import { useNavigation } from "@react-navigation/native";
import { lineList } from "@/lib/getStationList";
import { useStationList } from "@/stateBox/useStationList";
import { CustomTrainData, trainTypeID } from "@/lib/CommonTypes";
import { StationNumberMaker } from "../駅名表/StationNumberMaker";
import { getStationID } from "@/lib/eachTrainInfoCoreLib/getStationData";
import lineColorList from "@/assets/originData/lineColorList";
export const ListViewItem: FC<{
d: {
trainNumber: string;
array: string;
name: string;
type: string;
timeType: string;
time: string;
};
}> = ({ d }) => {
@@ -33,9 +36,13 @@ export const ListViewItem: FC<{
});
}
}, []);
const { color, name, data } = getTrainType({ type: trainData?.type, whiteMode: true });
const { originalStationList } = useStationList();
const { color, name, data } = getTrainType({
type: trainData?.type,
whiteMode: true,
});
// 列車名、種別、フォントの取得
const { getStationDataFromName, stationList, originalStationList } =
useStationList();
const [
typeString,
trainName,
@@ -45,7 +52,7 @@ export const ListViewItem: FC<{
isEdit,
uwasa,
vehicleFormation,
trainInfoUrl,
trainInfoUrl,lineColor
] = useMemo(() => {
const {
type,
@@ -62,6 +69,11 @@ export const ListViewItem: FC<{
d.trainNumber
);
const trainData = d.array.split("#").filter((d) => d !== "");
const station = getStationDataFromName(trainData[trainData.length - 1].split(",")[0]);
const lineColor =
station.length > 0
? lineColorList[station[0]?.StationNumber.slice(0, 1)]
: "black";
switch (true) {
case trainData[trainData.length - 1] === undefined:
return [
@@ -73,7 +85,7 @@ export const ListViewItem: FC<{
isEdit,
uwasa,
vehicleFormation,
trainInfoUrl,
trainInfoUrl,lineColor
];
default:
// 行先がある場合は、行先を取得
@@ -88,7 +100,7 @@ export const ListViewItem: FC<{
isEdit,
uwasa,
vehicleFormation,
trainInfoUrl,
trainInfoUrl,lineColor
];
}
}, [d.array]);
@@ -97,7 +109,7 @@ export const ListViewItem: FC<{
.set("hour", timeArray[0])
.set("minute", timeArray[1])
.format("HH:mm");
const openStationACFromEachTrainInfo = async (stationName) => {
await SheetManager.hide("EachTrainInfo");
const findStationEachLine = (selectLine) => {
@@ -118,7 +130,7 @@ export const ListViewItem: FC<{
//@ts-ignore
useShow: () => SheetManager.show("StationDetailView", { payload }),
onExit: () => SheetManager.hide("StationDetailView"),
};//@ts-ignore
}; //@ts-ignore
setTimeout(() => SheetManager.show("StationDetailView", { payload }), 50);
} else {
SheetManager.hide("StationDetailView");
@@ -159,12 +171,14 @@ export const ListViewItem: FC<{
borderStyle: "solid",
borderColor: "darkgray",
padding: 10,
opacity: d.type.includes("通") ? 0.5 : 1,
opacity: d.timeType?.includes("通") ? 0.5 : 1,
}}
onPress={() => openTrainInfo()}
>
<View style={{ position: "relative" }}>
<Text style={{ fontSize: 30 }}>{formattedTime}</Text>
<View style={{ position: "relative", flex: 3 }}>
<Text style={{ fontSize: 30, fontFamily: "DiaPro" }}>
{formattedTime}
</Text>
<Text
style={{
fontSize: 10,
@@ -174,10 +188,10 @@ export const ListViewItem: FC<{
fontWeight: "bold",
}}
>
{d.type}
{d.timeType}
</Text>
</View>
<View style={{ flex: 1, flexDirection: "column" }}>
<View style={{ flex: 10, flexDirection: "column" }}>
<View style={{ flexDirection: "row" }}>
<Text
style={{
@@ -214,16 +228,19 @@ export const ListViewItem: FC<{
{trainData?.TrainNumber}
</Text>
</View>
<Text
style={{
fontSize: 15,
flex: 1,
paddingHorizontal: 10,
fontWeight: "bold",
}}
>
{trainName}
</Text>
<View style={{ flexDirection: "row", alignItems: "center", flex: 1 }}>
<Text
style={{
fontSize: 15,
flex: 1,
paddingHorizontal: 10,
fontWeight: "bold",
color: lineColor
}}
>
{trainName}
</Text>
</View>
</View>
</TouchableOpacity>
);