コードの整理

This commit is contained in:
harukin-expo-dev-env 2024-12-06 09:48:26 +00:00
parent f60161b664
commit 139ce0ed7b
2 changed files with 43 additions and 24 deletions

View File

@ -6,30 +6,46 @@ type stateBox = {
title: string;
style?: ViewStyle;
mode?: number;
endText?: string;
};
export const StateBox: FC<stateBox> = ({ text, title, style, mode }) => (
<View style={{ ...(mode == 2 ? boxStyle2 : boxStyle), ...style }}>
<Text style={{ fontSize: 12, color: "#0099CC" }}>{title}</Text>
<View style={{ flex: 1 }} />
<View style={{ flexDirection: mode == 2 ? "row" : "column" }}>
{text?.match("") ? (
<>
<Text style={mode == 2 ? boxTextStyle2 : boxTextStyle}>
{text.split("")[0]}
export const StateBox: FC<stateBox> = (props) => {
const { text, title, style, mode, endText } = props;
return (
<View style={{ ...(mode == 2 ? boxStyle2 : boxStyle), ...style }}>
<Text style={{ fontSize: 12, color: "#0099CC" }}>{title}</Text>
<View style={{ flex: 1 }} />
<View style={{ flexDirection: mode == 2 ? "row" : "column" }}>
{text?.match("") ? (
<>
<Text style={mode == 2 ? boxTextStyle2 : boxTextStyle}>
{text.split("")[0]}
</Text>
<Text style={{ color: "#0099CC", textAlign: "right" }}>
{mode == 2 ? "→" : "↓"}
</Text>
<Text style={mode == 2 ? boxTextStyle2 : boxTextStyle}>
{text.split("")[1]}
</Text>
</>
) : (
<Text style={mode == 2 ? boxTextStyle2 : boxTextStyle}>{text}</Text>
)}
</View>
{endText && (
<View style={{ flexDirection: mode == 2 ? "row" : "column" }}>
<Text
style={{
...{ ...(mode == 2 ? boxTextStyle2 : boxTextStyle) },
fontSize: 10,
}}
>
{endText}
</Text>
<Text style={{ color: "#0099CC", textAlign: "right" }}>
{mode == 2 ? "→" : "↓"}
</Text>
<Text style={mode == 2 ? boxTextStyle2 : boxTextStyle}>
{text.split("")[1]}
</Text>
</>
) : (
<Text style={mode == 2 ? boxTextStyle2 : boxTextStyle}>{text}</Text>
</View>
)}
</View>
</View>
);
);
};
const boxStyle: ViewStyle = {
flex: 1,
backgroundColor: "white",

View File

@ -19,7 +19,7 @@ export const TrainDataView = ({
const { isLandscape } = useDeviceOrientationChange();
const { inject } = useCurrentTrain();
const [mapsStationData, setMapsStationData] = useState(undefined);
const [platformNumber, setPlatformNumber] = useState();
const [platformDescription, setPlatformDescription] = useState();
useEffect(() => {
@ -41,9 +41,11 @@ export const TrainDataView = ({
}, []);
const onLine = !!currentPosition?.toString().length;
const trainPositionText = (trainData) => {
const { isBetween, Pos } = trainPosition(trainData);
if (isBetween === true) return `${Pos.from}${Pos.to}`;
else return Pos.Pos == "" ? "" : `${Pos.Pos}${platformNumber ? ` ${platformNumber}番線`:""}${platformDescription ? `\n${platformNumber}番線`:""}`;
const { isBetween, Pos: PosData } = trainPosition(trainData);
const { from, to, Pos } = PosData;
if (isBetween === true) return `${from}${to}`;
if (Pos == "") return "";
return `${Pos}${platformNumber ? ` ${platformNumber}番線` : ""}`;
};
return (
<View
@ -84,6 +86,7 @@ export const TrainDataView = ({
mode={mode}
title={`現在地 ${currentPosition?.toString()}${onLine ? "▶️" : ""}`}
text={trainPositionText(currentTrainData)}
endText={platformDescription ? `${platformDescription}` : ""}
style={
onLine
? { borderWidth: 1, borderColor: "red", borderStyle: "solid" }