コードの配置変更
This commit is contained in:
parent
9fe53f55e9
commit
3d75ab149f
@ -189,7 +189,8 @@ export const EachTrainInfoCore = ({
|
|||||||
const count = position * 44 - 50;
|
const count = position * 44 - 50;
|
||||||
// 0.5秒待機してからスクロール
|
// 0.5秒待機してからスクロール
|
||||||
setTimeout(
|
setTimeout(
|
||||||
() => scrollHandlers.ref.current?.scrollTo({ y: count, animated: true }),
|
() =>
|
||||||
|
scrollHandlers.ref.current?.scrollTo({ y: count, animated: true }),
|
||||||
400
|
400
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -291,7 +292,7 @@ export const EachTrainInfoCore = ({
|
|||||||
} else if (pos[1] == "児島" && pos[0] == "宇多津") {
|
} else if (pos[1] == "児島" && pos[0] == "宇多津") {
|
||||||
setCurrentPosition(["Y09", "M12"]);
|
setCurrentPosition(["Y09", "M12"]);
|
||||||
return;
|
return;
|
||||||
}else if (pos[0] == "伊予若宮" && pos[1] == "伊予白滝") {
|
} else if (pos[0] == "伊予若宮" && pos[1] == "伊予白滝") {
|
||||||
setCurrentPosition(["S18", "S14"]);
|
setCurrentPosition(["S18", "S14"]);
|
||||||
return;
|
return;
|
||||||
} else if (pos[0] == "伊予白滝" && pos[1] == "伊予若宮") {
|
} else if (pos[0] == "伊予白滝" && pos[1] == "伊予若宮") {
|
||||||
@ -380,13 +381,6 @@ export const EachTrainInfoCore = ({
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const headerItem = {
|
|
||||||
currentTrainData,
|
|
||||||
currentPosition,
|
|
||||||
nearTrainIDList,
|
|
||||||
openTrainInfo,
|
|
||||||
navigate,
|
|
||||||
};
|
|
||||||
return (
|
return (
|
||||||
<View
|
<View
|
||||||
style={{
|
style={{
|
||||||
@ -431,8 +425,28 @@ export const EachTrainInfoCore = ({
|
|||||||
maxHeight: isLandscape ? height - 94 : (height / 100) * 70,
|
maxHeight: isLandscape ? height - 94 : (height / 100) * 70,
|
||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
shortHeader={<ShortHeader {...headerItem} />}
|
shortHeader={
|
||||||
longHeader={<LongHeader {...headerItem} />}
|
<ShortHeader
|
||||||
|
{...{
|
||||||
|
currentTrainData,
|
||||||
|
currentPosition,
|
||||||
|
nearTrainIDList,
|
||||||
|
openTrainInfo,
|
||||||
|
navigate,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
longHeader={
|
||||||
|
<LongHeader
|
||||||
|
{...{
|
||||||
|
currentTrainData,
|
||||||
|
currentPosition,
|
||||||
|
nearTrainIDList,
|
||||||
|
openTrainInfo,
|
||||||
|
navigate,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
topStickyContent={
|
topStickyContent={
|
||||||
<ScrollStickyContent
|
<ScrollStickyContent
|
||||||
{...{ currentTrainData, showThrew, setShowThrew, haveThrough }}
|
{...{ currentTrainData, showThrew, setShowThrew, haveThrough }}
|
||||||
|
@ -74,7 +74,7 @@ export const HeaderText: FC<Props> = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 列車名、種別、フォントの取得
|
// 列車名、種別、フォントの取得
|
||||||
const [typeName, trainName, fontAvailable] = useMemo(() => {
|
const [typeName, trainName, fontAvailable, isOneMan] = useMemo(() => {
|
||||||
if (!limited) return "";
|
if (!limited) return "";
|
||||||
const limitedArray = limited.split(":");
|
const limitedArray = limited.split(":");
|
||||||
const [type, fontAvailable] = (() => {
|
const [type, fontAvailable] = (() => {
|
||||||
@ -101,14 +101,24 @@ export const HeaderText: FC<Props> = ({
|
|||||||
return ["", false];
|
return ["", false];
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
const isOneMan = (() => {
|
||||||
|
const OneManRegex = new RegExp(/^4[1-9]\d\d[DM]$/);
|
||||||
|
const OneManRegex2 = new RegExp(/^5[1-7]\d\d[DM]$/);
|
||||||
|
const OneManRegex3 = new RegExp(/^3[2-9]\d\d[DM]$/);
|
||||||
|
return !!(
|
||||||
|
OneManRegex.test(trainNum) ||
|
||||||
|
OneManRegex2.test(trainNum) ||
|
||||||
|
OneManRegex3.test(trainNum)
|
||||||
|
);
|
||||||
|
})();
|
||||||
switch (true) {
|
switch (true) {
|
||||||
case !!limitedArray[1]:
|
case !!limitedArray[1]:
|
||||||
// 特急の場合は、列車名を取得
|
// 特急の場合は、列車名を取得
|
||||||
return [type, migrateTrainName(limitedArray[1]), fontAvailable];
|
return [type, migrateTrainName(limitedArray[1]), fontAvailable, isOneMan];
|
||||||
case trainData.length == 0:
|
case trainData.length == 0:
|
||||||
// 特急以外の場合は、列車番号を取得
|
// 特急以外の場合は、列車番号を取得
|
||||||
|
|
||||||
return [type, "", fontAvailable];
|
return [type, "", fontAvailable, isOneMan];
|
||||||
default:
|
default:
|
||||||
// 行先がある場合は、行先を取得
|
// 行先がある場合は、行先を取得
|
||||||
return [
|
return [
|
||||||
@ -117,20 +127,11 @@ export const HeaderText: FC<Props> = ({
|
|||||||
trainData[trainData.length - 1].split(",")[0] + "行き"
|
trainData[trainData.length - 1].split(",")[0] + "行き"
|
||||||
),
|
),
|
||||||
fontAvailable,
|
fontAvailable,
|
||||||
|
isOneMan,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}, [limited, trainData]);
|
}, [limited, trainData]);
|
||||||
|
|
||||||
// 1人運転の判定
|
|
||||||
const isOneMan = useMemo(() => {
|
|
||||||
const OneManRegex = new RegExp(/^4[1-9]\d\d[DM]$/);
|
|
||||||
const OneManRegex2 = new RegExp(/^5[1-7]\d\d[DM]$/);
|
|
||||||
return !!(
|
|
||||||
OneManRegex.test(trainNum) ||
|
|
||||||
OneManRegex2.test(trainNum) ||
|
|
||||||
trainNum === "3621D"
|
|
||||||
);
|
|
||||||
}, [trainNum]);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={{ padding: 10, flexDirection: "row", alignItems: "center" }}>
|
<View style={{ padding: 10, flexDirection: "row", alignItems: "center" }}>
|
||||||
|
@ -49,6 +49,11 @@ export const AppsWebView = ({ openStationACFromEachTrainInfo }) => {
|
|||||||
|
|
||||||
const onMessage = (event) => {
|
const onMessage = (event) => {
|
||||||
const { data } = event.nativeEvent;
|
const { data } = event.nativeEvent;
|
||||||
|
/**
|
||||||
|
* {type,trainNum,limited}
|
||||||
|
* {type,currentLines}
|
||||||
|
* {type,event,id,name,pdf,map,url,chk}
|
||||||
|
*/
|
||||||
if (data.includes("train.html")) {
|
if (data.includes("train.html")) {
|
||||||
navigate("trainbase", { info: data, from: "Train" });
|
navigate("trainbase", { info: data, from: "Train" });
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user