diff --git a/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx b/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx index 2d01dfe..e6ea3ac 100644 --- a/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx +++ b/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx @@ -5,6 +5,7 @@ import dayjs from "dayjs"; import { useInterval } from "../../../lib/useInterval"; import { Icon } from "@expo/vector-icons/build/createIconSet"; import { SheetManager } from "react-native-actions-sheet"; +import { customTrainDataDetector } from "../../custom-train-data"; type GlyphNames = ComponentProps["name"]; @@ -20,8 +21,14 @@ type apt = { export const TrainIconStatus: FC = ({ data, navigate, from }) => { const [trainIcon, setTrainIcon] = useState(null); const [anpanmanStatus, setAnpanmanStatus] = useState(); + const [address, setAddress] = useState(""); useEffect(() => { if (!data.trainNum) return; + const { trainIcon, infoUrl } = customTrainDataDetector(data.trainNum); + if (trainIcon) setTrainIcon(trainIcon); + + if (infoUrl) setAddress(infoUrl); + switch (data.trainNum) { case "32D": case "36D": @@ -33,11 +40,6 @@ export const TrainIconStatus: FC = ({ data, navigate, from }) => { case "45D": case "49D": case "57D": - setTrainIcon( - `https://n8n.haruk.in/webhook/dosan-anpanman-pictures.png?trainNum=${ - data.trainNum - }&day=${dayjs().format("yyyy-MM-DD")}` - ); fetch( `https://n8n.haruk.in/webhook/dosan-anpanman?trainNum=${ data.trainNum @@ -72,7 +74,7 @@ export const TrainIconStatus: FC = ({ data, navigate, from }) => { { navigate("howto", { - info: "https://www.jr-eki.com/aptrain/naani/dosan/jikoku.html", + info: address, goTo: from == "LED" ? "menu" : from, }); SheetManager.hide("EachTrainInfo"); @@ -81,8 +83,8 @@ export const TrainIconStatus: FC = ({ data, navigate, from }) => { {move ? ( ) : ( diff --git a/components/custom-train-data.ts b/components/custom-train-data.ts index 71ba164..2525de9 100644 --- a/components/custom-train-data.ts +++ b/components/custom-train-data.ts @@ -1,3 +1,4 @@ +import dayjs from "dayjs"; export const customTrainDataDetector = (TrainNumber: string) => { switch (TrainNumber) { //しおかぜメイン @@ -22,7 +23,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "しおかぜ", - trainIcon: "http://www.trainfrontview.net/b/s8000nr.png", + trainIcon: "https://storage.haruk.in/s8000nr.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html", trainNumDistance: 0, info: "いしづちと併結 / 8000系で運転", }; @@ -30,19 +33,22 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "しおかぜ", - trainIcon: "http://www.trainfrontview.net/b/s8000nr.png", + trainIcon: "https://storage.haruk.in/s8000nr.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html", trainNumDistance: 0, info: "8000系で運転", }; //8000 アンパン + case "10M": case "22M": case "9M": - case "10M": case "21M": return { type: "LTDEXP", trainName: "しおかぜ", - trainIcon: "http://www.trainfrontview.net/f/s8000ap.png", + trainIcon: "https://storage.haruk.in/s8000ap.png", + infoUrl: "https://www.jr-eki.com/aptrain/naani/yosan/train.html", trainNumDistance: 0, info: "いしづちと併結 / アンパンマン列車で運転", }; @@ -58,7 +64,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "しおかぜ", - trainIcon: "http://www.trainfrontview.net/b/s8600.png", + trainIcon: "https://storage.haruk.in/s8600.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html", trainNumDistance: 0, info: "いしづちと併結 / 8600系で運転", }; @@ -86,7 +94,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "いしづち", - trainIcon: "http://www.trainfrontview.net/b/s8000no.png", + trainIcon: "https://storage.haruk.in/s8000no.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html", trainNumDistance: 1000, info: "しおかぜと併結 / 8000系で運転", }; @@ -99,7 +109,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "いしづち", - trainIcon: "http://www.trainfrontview.net/f/s8000ap.png", + trainIcon: "https://storage.haruk.in/s8000ap.png", + infoUrl: "https://www.jr-eki.com/aptrain/naani/yosan/train.html", trainNumDistance: 1000, info: "しおかぜと併結 / アンパンマン列車で運転", }; @@ -116,7 +127,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "いしづち", - trainIcon: "http://www.trainfrontview.net/b/s8600_isz.png", + trainIcon: "https://storage.haruk.in/s8600_isz.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html", trainNumDistance: 1000, info: "しおかぜと併結 / 8600系で運転", }; @@ -127,7 +140,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "モーニングEXP高松", - trainIcon: "http://www.trainfrontview.net/b/s8000no.png", + trainIcon: "https://storage.haruk.in/s8000nr.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html", trainNumDistance: null, info: "8000系で運転", }; @@ -136,7 +151,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "モーニングEXP松山", - trainIcon: "http://www.trainfrontview.net/b/s8600_isz.png", + trainIcon: "https://storage.haruk.in/s8600_isz.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html", trainNumDistance: null, info: "8600系で運転", }; @@ -147,7 +164,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "いしづち", - trainIcon: "http://www.trainfrontview.net/f/s8000ap.png", + trainIcon: "https://storage.haruk.in/s8000ap.png", + infoUrl: "https://www.jr-eki.com/aptrain/naani/yosan/train.html", trainNumDistance: 940, info: "アンパンマン列車で運転", }; @@ -158,7 +176,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "いしづち", - trainIcon: "http://www.trainfrontview.net/b/s8600_isz.png", + trainIcon: "https://storage.haruk.in/s8600_isz.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html", trainNumDistance: 940, info: "8600系で運転", }; @@ -171,7 +191,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "南風", - trainIcon: "http://www.trainfrontview.net/b/s2700.png", + trainIcon: "https://storage.haruk.in/s2700.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/nanpu.html", trainNumDistance: 30, info: "しまんとと併結 / 2700系で運転", }; @@ -180,7 +201,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "南風", - trainIcon: "http://www.trainfrontview.net/b/s2700.png", + trainIcon: "https://storage.haruk.in/s2700.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/nanpu.html", trainNumDistance: 30, info: "うずしおと併結 / 2700系で運転", }; @@ -199,7 +221,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "南風", - trainIcon: "http://www.trainfrontview.net/b/s2700.png", + trainIcon: "https://storage.haruk.in/s2700.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/nanpu.html", trainNumDistance: 30, info: "2700系で運転", }; @@ -210,22 +233,29 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "南風", - trainIcon: "http://www.trainfrontview.net/f/s2700apr.png", + trainIcon: `https://n8n.haruk.in/webhook/dosan-anpanman-pictures.png?trainNum=${TrainNumber}&day=${dayjs().format( + "yyyy-MM-DD" + )}`, + infoUrl: "https://www.jr-eki.com/aptrain/naani/dosan/train.html", trainNumDistance: 30, info: "うずしおと連結 / アンパンマン列車で運転", }; case "32D": + case "36D": case "44D": case "48D": case "56D": case "33D": + case "37D": case "45D": case "49D": case "57D": return { type: "LTDEXP", trainName: "南風", - trainIcon: "http://www.trainfrontview.net/f/s2700apr.png", + trainIcon: `https://n8n.haruk.in/webhook/dosan-anpanman-pictures.png?trainNum=${TrainNumber}&day=${dayjs().format( + "yyyy-MM-DD" + )}`, trainNumDistance: 30, info: "アンパンマン列車で運転", }; @@ -239,7 +269,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "うずしお", - trainIcon: "http://www.trainfrontview.net/b/s2700_uzu.png", + trainIcon: "https://storage.haruk.in/s2700_uzu.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 5000, info: "南風と併結 / 高松-宇多津間進行方向逆転 / 2700系で運転", }; @@ -255,7 +287,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "うずしお", - trainIcon: "http://www.trainfrontview.net/b/s2700_uzu.png", + trainIcon: "https://storage.haruk.in/s2700_uzu.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 3000, info: "2700系で運転", }; @@ -273,7 +307,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "うずしお", - trainIcon: "http://www.trainfrontview.net/b/s2700_uzu.png", + trainIcon: "https://storage.haruk.in/s2700_uzu.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 3000, info: "2700系で運転", }; @@ -292,7 +328,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "うずしお", - trainIcon: "http://www.trainfrontview.net/b/s2600.png", + trainIcon: "https://storage.haruk.in/s2600.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 3000, info: "2600系で運転", }; @@ -303,7 +341,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "うずしお", - trainIcon: "http://www.trainfrontview.net/b/s185tu_uzu.png", + trainIcon: "https://storage.haruk.in/s185tu_uzu.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 3000, info: "キハ185系で運転", }; @@ -380,7 +420,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "Rapid", trainName: "マリンライナー", - trainIcon: "http://www.trainfrontview.net/b/s5001.png", + trainIcon: "https://storage.haruk.in/s5001.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html", trainNumDistance: 3100, info: "", }; @@ -392,7 +433,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "Rapid", trainName: "マリンライナー", - trainIcon: "http://www.trainfrontview.net/b/s5001k.png", + trainIcon: "https://storage.haruk.in/s5001k.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html", trainNumDistance: 3100, info: "", }; @@ -403,7 +445,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "NightLTDEXP", trainName: "サンライズ瀬戸", - trainIcon: "http://www.trainfrontview.net/b/w285.png", + trainIcon: "https://storage.haruk.in/w285.png", + infoUrl: + "https://www.jr-odekake.net/train/sunriseseto_izumo/index.html", trainNumDistance: null, info: "", }; @@ -412,7 +456,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "NightLTDEXP", trainName: "サンライズ瀬戸", - trainIcon: "http://www.trainfrontview.net/b/w285.png", + trainIcon: "https://storage.haruk.in/w285.png", + infoUrl: + "https://www.jr-odekake.net/train/sunriseseto_izumo/index.html", trainNumDistance: null, info: "琴平延長運転日", }; @@ -446,7 +492,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "宇和海", - trainIcon: "http://www.trainfrontview.net/b/s2000_uwa.png", + trainIcon: "https://storage.haruk.in/s2000_uwa.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uwakai.html", trainNumDistance: 1050, info: "2000系で運転", }; @@ -462,7 +509,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "宇和海", - trainIcon: "http://www.trainfrontview.net/f/s2002a.png", + trainIcon: "https://storage.haruk.in/s2002a.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uwakai.html", trainNumDistance: 1050, info: "アンパン列車で運転", }; @@ -474,7 +522,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "しまんと", - trainIcon: "http://www.trainfrontview.net/b/s2700_smn.png", + trainIcon: "https://storage.haruk.in/s2700_smn.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shimanto.html", trainNumDistance: 2000, info: "2700系で運転", }; @@ -485,7 +535,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "しまんと", - trainIcon: "http://www.trainfrontview.net/b/s2700_smn.png", + trainIcon: "https://storage.haruk.in/s2000_smn.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shimanto.html", trainNumDistance: 2000, info: "南風と併結 / 2700系で運転", }; @@ -502,7 +554,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "あしずり", - trainIcon: "http://www.trainfrontview.net/b/s2000_asi.png", + trainIcon: "https://storage.haruk.in/s2000_asi.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html", trainNumDistance: 2070, info: "2000系で運転", }; @@ -518,7 +572,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "あしずり", - trainIcon: "http://www.trainfrontview.net/b/s2700_asi.png", + trainIcon: "https://storage.haruk.in/s2700_asi.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html", trainNumDistance: 2070, info: "2700系で運転", }; @@ -538,7 +594,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "剣山", - trainIcon: "http://www.trainfrontview.net/b/s185tu.png", + trainIcon: "https://storage.haruk.in/s185tu.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/tsurugisan.html", trainNumDistance: 4000, info: "キハ185系で運転", }; @@ -549,7 +607,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "むろと", - trainIcon: "http://www.trainfrontview.net/b/s185_mrt.png", + trainIcon: "https://storage.haruk.in/s185_mrt.png", + infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/muroto.html", trainNumDistance: 5050, info: "キハ185系で運転", }; @@ -560,7 +619,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "よしのがわトロッコ", - trainIcon: "http://www.trainfrontview.net/f/s185to_ai.png", + trainIcon: "https://storage.haruk.in/s185to_ai.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/event_train/yoshino_torokko.html", trainNumDistance: null, info: "", }; @@ -574,7 +635,9 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "アンパンマントロッコ", - trainIcon: "http://www.trainfrontview.net/f/s32to4.png", + trainIcon: "https://storage.haruk.in/s32to4.png", + infoUrl: + "https://www.jr-eki.com/aptrain/naani/torokko_seto/jikoku.html", trainNumDistance: null, info: "", }; @@ -582,12 +645,21 @@ export const customTrainDataDetector = (TrainNumber: string) => { //伊予灘ものがたり case "8091D": case "8093D": + return { + type: "LTDEXP", + trainName: "伊予灘ものがたり", + trainIcon: "https://storage.haruk.in/s185iyor.png", + infoUrl: "https://iyonadamonogatari.com/", + trainNumDistance: null, + info: "", + }; case "8092D": case "8094D": return { type: "LTDEXP", trainName: "伊予灘ものがたり", - trainIcon: "http://www.trainfrontview.net/b/s185iyoy.png", + trainIcon: "https://storage.haruk.in/s185iyoy.png", + infoUrl: "https://iyonadamonogatari.com/", trainNumDistance: null, info: "", }; @@ -598,7 +670,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "四国まんなか千年ものがたり", - trainIcon: "http://www.trainfrontview.net/b/s185mm1.png", + trainIcon: "https://storage.haruk.in/s185mm1.png", + infoUrl: "https://www.jr-shikoku.co.jp/sennenmonogatari/", trainNumDistance: null, info: "", }; @@ -611,7 +684,8 @@ export const customTrainDataDetector = (TrainNumber: string) => { return { type: "LTDEXP", trainName: "時代の夜明けのものがたり", - trainIcon: "http://www.trainfrontview.net/b/s185ym1.png", + trainIcon: "https://storage.haruk.in/s185ym1.png", + infoUrl: "https://www.jr-shikoku.co.jp/yoakenomonogatari/index.html", trainNumDistance: null, info: "", }; @@ -621,6 +695,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { type: "Normal", trainName: "", trainIcon: null, + infoUrl: null, trainNumDistance: null, info: null, };