可読性を上げる変更

This commit is contained in:
harukin-expo-dev-env
2024-03-24 17:23:20 +00:00
parent f98d0166b8
commit f263dde61c
2 changed files with 67 additions and 51 deletions

View File

@@ -1,4 +1,4 @@
import React, { useEffect, useState } from "react";
import React, { useEffect, useMemo, useState } from "react";
import {
View,
LayoutAnimation,
@@ -9,7 +9,7 @@ import {
BackHandler,
} from "react-native";
import { Ionicons } from "@expo/vector-icons";
import { SheetManager, useScrollHandlers } from "react-native-actions-sheet";
import { SheetManager } from "react-native-actions-sheet";
import { AS } from "../../storageControl";
import trainList from "../../assets/originData/trainList";
import { lineList } from "../../lib/getStationList";
@@ -50,7 +50,6 @@ export const EachTrainInfoCore = ({
// const [actionSheetHorizonalScroll, setActionSheetHorizonalScroll] = useState(false);
useEffect(() => {
console.log(currentTrain.length);
if (!currentTrain.length) return;
setCurrentTrainData(
checkDuplicateTrainData(
@@ -80,9 +79,6 @@ export const EachTrainInfoCore = ({
const [trainPositionSwitch, setTrainPositionSwitch] = useState("false");
const [currentPosition, setCurrentPosition] = useState([]);
const [trainData, setTrainData] = useState([]);
const scrollHandlers = actionSheetRef
? useScrollHandlers("scrollview-1", actionSheetRef)
: null;
const stationList =
originalStationList &&
@@ -112,6 +108,28 @@ export const EachTrainInfoCore = ({
trainPositionSwitch == "true"
? findReversalPoints(currentPosition, stopStationIDList)
: [];
const trainName = useMemo(() => {
if (!data.limited) return "";
const limitedArray = data.limited.split(":");
const type = getTrainType(limitedArray[0]);
switch (true) {
case limitedArray[1]:
// 特急の場合は、列車名を取得
return type + migrateTrainName(limitedArray[1]);
case trainData.length == 0:
// 特急以外の場合は、列車番号を取得
return type;
default:
// 行先がある場合は、行先を取得
return (
type +
migrateTrainName(
trainData[trainData.length - 1].split(",")[0] + "行き"
)
);
}
}, [data.limited, trainData]);
const { height, width } = useWindowDimensions();
const { isLandscape } = useDeviceOrientationChange();
@@ -223,10 +241,6 @@ export const EachTrainInfoCore = ({
});
}
};
const viewHeader =
from == "AllTrainDiagramView" ||
from == "NearTrainDiagramView" ||
from == "LED2";
return (
<View
style={{
@@ -252,15 +266,7 @@ export const EachTrainInfoCore = ({
)}
<View style={{ padding: 10, flexDirection: "row", alignItems: "center" }}>
<Text style={{ fontSize: 20, fontWeight: "bold", color: "white" }}>
{data.limited
? getType(data.limited.split(":")[0]) +
migrateTrainName(
data.limited.split(":")[1] ||
(trainData.length > 0
? trainData[trainData.length - 1].split(",")[0] + "行き"
: " ")
)
: ""}
{trainName}
</Text>
<View style={{ flex: 1 }} />
<Text style={{ fontSize: 20, fontWeight: "bold", color: "white" }}>
@@ -289,40 +295,31 @@ export const EachTrainInfoCore = ({
)}
</View>
<DynamicHeaderScrollView
from={from}
styles={styles}
scrollViewProps={scrollHandlers}
actionSheetRef={actionSheetRef}
containerProps={{
style: {
maxHeight: isLandscape ? height - 94 : (height / 100) * 70,
},
}}
Max_Header_Height={viewHeader ? 0 : 200}
Min_Header_Height={viewHeader ? 0 : 80}
shortHeader={
viewHeader ? (
<></>
) : (
<ShortHeader
currentTrainData={currentTrainData}
currentPosition={currentPosition}
nearTrainIDList={nearTrainIDList}
openTrainInfo={openTrainInfo}
navigate={navigate}
/>
)
<ShortHeader
currentTrainData={currentTrainData}
currentPosition={currentPosition}
nearTrainIDList={nearTrainIDList}
openTrainInfo={openTrainInfo}
navigate={navigate}
/>
}
longHeader={
viewHeader ? (
<></>
) : (
<LongHeader
currentTrainData={currentTrainData}
currentPosition={currentPosition}
nearTrainIDList={nearTrainIDList}
openTrainInfo={openTrainInfo}
navigate={navigate}
/>
)
<LongHeader
currentTrainData={currentTrainData}
currentPosition={currentPosition}
nearTrainIDList={nearTrainIDList}
openTrainInfo={openTrainInfo}
navigate={navigate}
/>
}
topStickyContent={
<ScrollStickyContent currentTrainData={currentTrainData} />