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';