From 6d66a7bdd28abd2e5e57f8ba0d0c58a99ececdd0 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Mon, 30 Mar 2026 05:54:25 +0000 Subject: [PATCH] =?UTF-8?q?HeaderText:=20useMemo=E3=83=95=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=81=ABtrainNum=E3=81=A8allCustomTrainData=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E3=81=97=E3=81=A6=E4=BE=9D=E5=AD=98=E9=96=A2?= =?UTF-8?q?=E4=BF=82=E3=82=92=E6=9C=80=E9=81=A9=E5=8C=96=20TrainIconStatus?= =?UTF-8?q?:=20=E3=82=A2=E3=83=B3=E3=83=91=E3=83=B3=E3=83=9E=E3=83=B3?= =?UTF-8?q?=E3=82=B9=E3=83=86=E3=83=BC=E3=82=BF=E3=82=B9API=E3=81=AE?= =?UTF-8?q?=E3=82=A8=E3=83=B3=E3=83=89=E3=83=9D=E3=82=A4=E3=83=B3=E3=83=88?= =?UTF-8?q?=E5=88=A4=E5=AE=9A=E3=82=92=E8=BF=BD=E5=8A=A0=20webViewInjectja?= =?UTF-8?q?vascript:=20=E6=96=B0=E3=81=97=E3=81=84=E5=88=97=E8=BB=8A?= =?UTF-8?q?=E3=82=A2=E3=82=A4=E3=83=86=E3=83=A0=E3=81=AE=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E5=B9=85=E3=82=92=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EachTrainInfoCore/HeaderText.tsx | 2 +- .../EachTrainInfoCore/trainIconStatus.tsx | 61 ++++++++++++++----- lib/webViewInjectjavascript.ts | 1 + 3 files changed, 48 insertions(+), 16 deletions(-) diff --git a/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx b/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx index 075b299..71532fe 100644 --- a/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx +++ b/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx @@ -158,7 +158,7 @@ export const HeaderText: FC = ({ result, ]; } - }, [trainData]); + }, [trainData, trainNum, allCustomTrainData]); const todayOperation = getTodayOperationByTrainId(trainNum).filter( (d) => d.state !== 100, diff --git a/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx b/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx index 5fb82bc..59d10b9 100644 --- a/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx +++ b/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx @@ -87,7 +87,34 @@ export const TrainIconStatus: FC = (props) => { setTrainIcon([{ vehicle_info_img, vehicle_info_right_img: vehicle_info_img, vehicle_info_url }]); } + // アンパンマンステータスAPIのエンドポイント判定 + let anpanmanApiPath: string | null = null; switch (data.trainNum) { + // 予讃線 → yosan-anpanman + // しおかぜ 8000 アンパン + case "10M": + case "22M": + case "9M": + case "21M": + // いしづち 8000 アンパン + case "1010M": + case "1022M": + case "1009M": + case "1021M": + // いしづち 三桁 アンパン + case "1041M": + case "1044M": + // 宇和海 2000 アンパン + case "1058D": + case "1066D": + case "1074D": + case "1053D": + case "1059D": + case "1067D": + anpanmanApiPath = "yosan-anpanman"; + break; + // 土讃線 → dosan-anpanman + // 南風 2700 アンパン case "32D": case "36D": case "44D": @@ -98,23 +125,27 @@ export const TrainIconStatus: FC = (props) => { case "45D": case "49D": case "57D": - fetch( - `https://n8n.haruk.in/webhook/dosan-anpanman?trainNum=${ - data.trainNum - }&month=${dayjs().format("M")}&day=${dayjs().format("D")}` - ) - .then((d) => d.json()) - .then((d) => { - if (d.trainStatus == "〇") { - //setAnpanmanStatus({name:"checkmark-circle-outline",color:"blue"}); - } else if (d.trainStatus == "▲") { - setAnpanmanStatus({ name: "warning-outline", color: "yellow" }); - } else if (d.trainStatus == "×") { - setAnpanmanStatus({ name: "close-circle-outline", color: "red" }); - } - }); + anpanmanApiPath = "dosan-anpanman"; break; } + if (anpanmanApiPath) { + fetch( + `https://n8n.haruk.in/webhook/${anpanmanApiPath}?trainNum=${ + data.trainNum + }&month=${dayjs().format("M")}&day=${dayjs().format("D")}` + ) + .then((d) => d.json()) + .then((d) => { + if (d.trainStatus == "〇" || d.trainStatus == "○") { + //setAnpanmanStatus({name:"checkmark-circle-outline",color:"blue"}); + } else if (d.trainStatus == "▲") { + setAnpanmanStatus({ name: "warning-outline", color: "yellow" }); + } else if (d.trainStatus == "×") { + setAnpanmanStatus({ name: "close-circle-outline", color: "red" }); + } + }) + .catch(() => {}); + } }, [data.trainNum, allCustomTrainData, todayOperation]); const [move, setMove] = useState(true); useInterval( diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index bf93047..2eda55b 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -910,6 +910,7 @@ const setNewTrainItem = (element,hasProblem,type)=>{ element.style.alignItems = 'center'; element.style.justifyContent = 'center'; element.style.width = '4.5em'; + element.style.maxWidth = 'calc(38vw / 2 - 6px)'; element.style.minHeight = '80px'; element.style.height = '100%'; element.getElementsByTagName("img")[0].style.float = 'unset';