diff --git a/Apps.js b/Apps.js index 385f0dd..b43d46e 100644 --- a/Apps.js +++ b/Apps.js @@ -27,15 +27,16 @@ export function AppContainer() { const [fontLoaded, error] = useFonts({ "JR-Nishi": require("./assets/fonts/jr-nishi.otf"), Zou: require("./assets/fonts/DelaGothicOne-Regular.ttf"), + "JNR-font": require("./assets/fonts/JNRfont_pict.ttf"), }); return ( scrollHandlers.ref.current?.scrollTo({ y: count, animated: true }), + () => + scrollHandlers.ref.current?.scrollTo({ y: count, animated: true }), 400 ); } @@ -291,7 +292,7 @@ export const EachTrainInfoCore = ({ } else if (pos[1] == "児島" && pos[0] == "宇多津") { setCurrentPosition(["Y09", "M12"]); return; - }else if (pos[0] == "伊予若宮" && pos[1] == "伊予白滝") { + } else if (pos[0] == "伊予若宮" && pos[1] == "伊予白滝") { setCurrentPosition(["S18", "S14"]); return; } else if (pos[0] == "伊予白滝" && pos[1] == "伊予若宮") { @@ -380,13 +381,6 @@ export const EachTrainInfoCore = ({ } }; - const headerItem = { - currentTrainData, - currentPosition, - nearTrainIDList, - openTrainInfo, - navigate, - }; return ( } - longHeader={} + shortHeader={ + + } + longHeader={ + + } topStickyContent={ = ({ tailStation, navigate, from, + scrollHandlers }) => { const { limited, trainNum } = data; - // 貨物の判定 - const freightDetect = (num:string)=>{ - switch(num){ - case "71": - return "貨物 東京(タ)→高松(タ)"; - case "73": - case "75": - return "貨物 大阪(タ)→高松(タ)"; - case "3079": - return "貨物 高松(タ)→伊予三島"; - case "3071": - case "3077": - return "貨物 高松(タ)→新居浜"; - case "3073": - return "貨物 高松(タ)→松山貨物"; - case "70": - return "貨物 高松(タ)→東京(タ)"; - case "74": - case "76": - return "貨物 高松(タ)→大阪(タ)"; - case "3078": - return "貨物 伊予三島→高松(タ)"; - case "3070": - return "貨物 新居浜→高松(タ)"; - case "3076": - return "貨物 新居浜→高松(タ)"; - case "3072": - return "貨物 松山貨物→高松(タ)"; - case "9070": - return "貨物 臨時"; - default: - return false; - } - } - // 列車名、種別、フォントの取得 - const [typeName, trainName, fontAvailable] = useMemo(() => { - if (!limited) return ""; - const limitedArray = limited.split(":"); - const [type, fontAvailable] = (() => { - const d = getType(limitedArray[0]); + const [typeName, trainName, fontAvailable, isOneMan, infogram] = + useMemo(() => { + const customTrainData = customTrainDataDetector(trainNum); + const [type, fontAvailable, isOneMan] = (() => { + switch (customTrainData.type) { + case "LTDEXP": + return ["特急", true, false]; + case "Rapid": + return ["快速", true, false]; + case "Normal": + return ["普通", true, false]; + case "OneManRapid": + return ["快速", true, true]; + case "OneMan": + return ["普通", true, true]; + case "NightLTDEXP": + return ["特急", true, false]; + case "SPCL": + return ["臨時", false, false]; + case "SPCL_EXP": + return ["臨時特急", false, false]; + case "SPCL_Rapid": + return ["臨時快速", true, false]; + case "SPCL_Normal": + return ["臨時", true, false]; + case "Freight": + return ["貨物", false, false]; + case "Other": + switch (true) { + case !!trainNum.includes("T"): + return ["単機回送", false, false]; + case !!trainNum.includes("R"): + case !!trainNum.includes("E"): + case !!trainNum.includes("L"): + case !!trainNum.includes("A"): + case !!trainNum.includes("B"): + return ["回送", false, false]; + case !!trainNum.includes("H"): + return ["試運転", false, false]; + } + return ["", false, false]; + } + })(); switch (true) { - case !!d: - return [d, true]; - case !!trainNum.includes("T"): - return ["単機回送", false]; - case !!trainNum.includes("R"): - case !!trainNum.includes("E"): - case !!trainNum.includes("L"): - case !!trainNum.includes("A"): - case !!trainNum.includes("B"): - return ["回送", false]; - case !!trainNum.includes("H"): - return ["試運転", false]; - case !!trainNum.match("D"): - case !!trainNum.match("M"): - return ["普通", true]; - case !!freightDetect(trainNum): - return [freightDetect(trainNum), false]; + case customTrainData.trainName !== "": + // 特急の場合は、列車名を取得 + // 列番対称データがある場合はそれから列車番号を取得 + const distance = customTrainData.trainNumDistance; + const number = + distance !== null ? ` ${parseInt(trainNum) - distance}号` : ""; + const trainName = customTrainData.trainName + number; + return [ + type, + trainName, + fontAvailable, + isOneMan, + customTrainData.infogram, + ]; + case trainData[trainData.length - 1] === undefined: + return [type, "", fontAvailable, isOneMan, customTrainData.infogram]; default: - return ["", false]; + // 行先がある場合は、行先を取得 + return [ + type, + migrateTrainName( + trainData[trainData.length - 1].split(",")[0] + "行き" + ), + fontAvailable, + isOneMan, + customTrainData.infogram, + ]; } - })(); - switch (true) { - case !!limitedArray[1]: - // 特急の場合は、列車名を取得 - return [type, migrateTrainName(limitedArray[1]), fontAvailable]; - case trainData.length == 0: - // 特急以外の場合は、列車番号を取得 - - return [type, "", fontAvailable]; - default: - // 行先がある場合は、行先を取得 - return [ - type, - migrateTrainName( - trainData[trainData.length - 1].split(",")[0] + "行き" - ), - fontAvailable, - ]; - } - }, [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]); + }, [trainData]); return ( - + scrollHandlers.ref.current?.scrollTo({ y: 0, animated: true })}> = ({ fontSize: 20, color: "white", fontFamily: fontAvailable ? "JR-Nishi" : undefined, - fontWeight: !fontAvailable ?"bold":undefined, + fontWeight: !fontAvailable ? "bold" : undefined, marginRight: 5, }} > @@ -151,6 +136,7 @@ export const HeaderText: FC = ({ {isOneMan && } {trainName} + diff --git a/components/ActionSheetComponents/EachTrainInfoCore/HeaderTextParts/InfogramText.tsx b/components/ActionSheetComponents/EachTrainInfoCore/HeaderTextParts/InfogramText.tsx new file mode 100644 index 0000000..b27bf86 --- /dev/null +++ b/components/ActionSheetComponents/EachTrainInfoCore/HeaderTextParts/InfogramText.tsx @@ -0,0 +1,18 @@ +import React, { FC } from "react"; +import { Text } from "react-native"; +type props = { + infogram: string; +} +export const InfogramText: FC = ({infogram}) => { + return ( + + {infogram} + + ); +}; diff --git a/components/Apps/WebView.jsx b/components/Apps/WebView.jsx index 3eeec97..468bd48 100644 --- a/components/Apps/WebView.jsx +++ b/components/Apps/WebView.jsx @@ -49,6 +49,11 @@ export const AppsWebView = ({ openStationACFromEachTrainInfo }) => { const onMessage = (event) => { const { data } = event.nativeEvent; + /** + * {type,trainNum,limited} + * {type,currentLines} + * {type,event,id,name,pdf,map,url,chk} + */ if (data.includes("train.html")) { navigate("trainbase", { info: data, from: "Train" }); return; diff --git a/components/Settings/SettingTopPage.js b/components/Settings/SettingTopPage.js index bfbe858..4ae72f2 100644 --- a/components/Settings/SettingTopPage.js +++ b/components/Settings/SettingTopPage.js @@ -17,7 +17,7 @@ import { SwitchArea } from "../atom/SwitchArea"; import { useNotification } from "../../stateBox/useNotifications"; import { SheetHeaderItem } from "@/components/atom/SheetHeaderItem"; -const versionCode = "6.0"; +const versionCode = "6.0.1"; export const SettingTopPage = ({ testNFC, diff --git a/components/custom-train-data.ts b/components/custom-train-data.ts index 1827696..7a8f364 100644 --- a/components/custom-train-data.ts +++ b/components/custom-train-data.ts @@ -28,6 +28,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html", trainNumDistance: 0, info: "いしづちと併結 / 8000系で運転", + infogram: "G" }; case "2M": return { @@ -38,6 +39,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html", trainNumDistance: 0, info: "8000系で運転", + infogram: "G" }; //8000 アンパン case "10M": @@ -51,6 +53,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://www.jr-eki.com/aptrain/naani/yosan/train.html", trainNumDistance: 0, info: "いしづちと併結 / アンパンマン列車で運転", + infogram: "G" }; //8600 case "8M": @@ -69,6 +72,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html", trainNumDistance: 0, info: "いしづちと併結 / 8600系で運転", + infogram: "G" }; //いしづちメイン @@ -99,6 +103,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html", trainNumDistance: 1000, info: "しおかぜと併結 / 8000系で運転", + infogram: "" }; //8000 アンパン @@ -113,6 +118,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://www.jr-eki.com/aptrain/naani/yosan/train.html", trainNumDistance: 1000, info: "しおかぜと併結 / アンパンマン列車で運転", + infogram: "" }; //8600 @@ -132,6 +138,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html", trainNumDistance: 1000, info: "しおかぜと併結 / 8600系で運転", + infogram: "" }; //MEXP @@ -145,6 +152,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html", trainNumDistance: null, info: "8000系で運転", + infogram: "G" }; //8600 case "1091M": @@ -156,6 +164,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html", trainNumDistance: null, info: "8600系で運転", + infogram: "G" }; //三桁いしづち //8000 アンパン @@ -168,10 +177,21 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://www.jr-eki.com/aptrain/naani/yosan/train.html", trainNumDistance: 940, info: "アンパンマン列車で運転", + infogram: "G" }; //8600 case "1043M": case "1042M": + return { + type: "LTDEXP", + trainName: "いしづち", + trainIcon: "https://storage.haruk.in/s8600_isz.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html", + trainNumDistance: 940, + info: "8600系で運転", + infogram: "" + }; case "1046M": return { type: "LTDEXP", @@ -181,6 +201,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html", trainNumDistance: 940, info: "8600系で運転", + infogram: "G" }; //南風 2700ノーマル @@ -209,6 +230,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/nanpu.html", trainNumDistance: 30, info: "2700系で運転", + infogram: "G" }; //2700アンパン @@ -231,6 +253,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://www.jr-eki.com/aptrain/naani/dosan/train.html", trainNumDistance: 30, info: "アンパンマン列車で運転", + infogram: "G" }; //うずしお @@ -256,6 +279,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 3000, info: "2700系で運転", + infogram: "" }; //2700 二両編成 @@ -277,6 +301,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 3000, info: "2700系で運転", + infogram: "" }; //2600 @@ -298,6 +323,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html", trainNumDistance: 3000, info: "2600系で運転", + infogram: "" }; @@ -377,6 +403,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html", trainNumDistance: 3100, info: "", + infogram: "G" }; case "3102M": case "3101M": @@ -390,6 +417,103 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html", trainNumDistance: 3100, info: "", + infogram: "" + }; + //下りサンポート + case "1219M": + return { + type: "Normal", + trainName: "南風リレー", + trainIcon: "", + infoUrl: "", + trainNumDistance: null, + info: " 土曜・休日は多度津-琴平間運休", + infogram: "" + }; + + case "111M": + case "115M": + case "117M": + case "121M": + case "123M": + case "127M": + case "131M": + case "139M": + case "147M": + case "151M": + return { + type: "Rapid", + trainName: "サンポート南風リレー", + trainIcon: null, + infoUrl: null, + trainNumDistance: null, + info: null, + infogram: "" + }; + case "5109M": + case "5135M": + case "5251M": + return { + type: "OneManRapid", + trainName: "サンポート南風リレー", + trainIcon: null, + infoUrl: null, + trainNumDistance: null, + info: null, + infogram: "" + }; + case "137M": + return { + type: "Rapid", + trainName: "サンポート", + trainIcon: null, + infoUrl: null, + trainNumDistance: null, + info: "土曜・休日運休", + infogram: "" + }; + //上りサンポート + case "116M": + return { + type: "Normal", + trainName: "南風リレー", + trainIcon: null, + infoUrl: null, + trainNumDistance: null, + info: null, + infogram: "" + }; + + case "130M": + case "132M": + case "136M": + case "140M": + case "144M": + case "146M": + case "150M": + case "156M": + return { + type: "Rapid", + trainName: "サンポート南風リレー", + trainIcon: "", + infoUrl: "", + trainNumDistance: null, + info: "", + infogram: "" + }; + case "5118M": + case "5120M": + case "5124M": + case "5126M": + case "5252M": + return { + type: "OneManRapid", + trainName: "サンポート南風リレー", + trainIcon: null, + infoUrl: null, + trainNumDistance: null, + info: null, + infogram: "" }; //サンライズ瀬戸 @@ -403,6 +527,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "https://www.jr-odekake.net/train/sunriseseto_izumo/index.html", trainNumDistance: null, info: "", + infogram: "ブ" }; case "8041M": //琴平延長高松迄 case "8031M": //琴平延長高松以降 @@ -414,6 +539,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "https://www.jr-odekake.net/train/sunriseseto_izumo/index.html", trainNumDistance: null, info: "琴平延長運転日", + infogram: "ブ" }; //宇和海 @@ -451,6 +577,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uwakai.html", trainNumDistance: 1050, info: "2000系で運転", + infogram: "" }; //2000 アンパン込み case "1058D": @@ -466,6 +593,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://www.jr-eki.com/aptrain/naani/yosan/train.html", trainNumDistance: 1050, info: "アンパン列車で運転", + infogram: "" }; //しまんと case "2002D": @@ -480,6 +608,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shimanto.html", trainNumDistance: 2000, info: "2700系で運転", + infogram: "" }; //あしずり 2000 @@ -499,14 +628,25 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html", trainNumDistance: 2070, info: "2000系で運転", + infogram: "" }; //あしずり 2700 - case "2072D": case "2078D": case "2084D": case "2075D": case "2077D": + return { + type: "LTDEXP", + trainName: "あしずり", + trainIcon: "https://storage.haruk.in/s2700_asi.png", + infoUrl: + "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html", + trainNumDistance: 2070, + info: "2700系で運転", + infogram: "" + }; + case "2072D": case "2083D": return { type: "LTDEXP", @@ -516,6 +656,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html", trainNumDistance: 2070, info: "2700系で運転", + infogram: "G" }; //剣山 @@ -534,6 +675,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/tsurugisan.html", trainNumDistance: 4000, info: "キハ185系で運転", + infogram: "" }; //よしのがわトロッコ @@ -547,6 +689,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "http://jr-shikoku.co.jp/01_trainbus/event_train/yoshino_torokko.html", trainNumDistance: null, info: "", + infogram: "" }; //岡山高松アントロ @@ -563,6 +706,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { "https://www.jr-eki.com/aptrain/naani/torokko_seto/jikoku.html", trainNumDistance: null, info: "", + infogram: "G" }; //伊予灘ものがたり @@ -575,6 +719,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://iyonadamonogatari.com/", trainNumDistance: null, info: "", + infogram: "G" }; case "8092D": case "8094D": @@ -585,6 +730,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://iyonadamonogatari.com/", trainNumDistance: null, info: "", + infogram: "G" }; //千年ものがたり @@ -597,6 +743,7 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://www.jr-shikoku.co.jp/sennenmonogatari/", trainNumDistance: null, info: "", + infogram: "G" }; //夜明けものがたり @@ -611,27 +758,41 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: "https://www.jr-shikoku.co.jp/yoakenomonogatari/index.html", trainNumDistance: null, info: "", + infogram: "G" }; case "9174M": return { - type: "SPCL", - trainName: "[快速]マリンライナー94号", + type: "SPCL_Rapid", + trainName: "マリンライナー94号", trainIcon: "https://storage.haruk.in/s5001.png", infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html", trainNumDistance: null, info: "WEST LIVE TOUR 2025臨 3/21,22のみ運転", + infogram: "G" }; case "9395D": return { - type: "SPCL", - trainName: "普通列車", - trainIcon: "", - infoUrl: "", + type: "SPCL_Normal", + trainName: "", + trainIcon: null, + infoUrl: null, trainNumDistance: null, info: "WEST LIVE TOUR 2025臨 3/21,22のみ運転", + infogram: "" }; default: - if ( + if(getJRF(TrainNumber) !== null){ + return { + type: "Freight", + trainName: getJRF(TrainNumber), + trainIcon: "https://storage.haruk.in/ef210a.png", + infoUrl: null, + trainNumDistance: null, + info: "", + infogram: "", + }; + } + else if ( new RegExp(/^4[1-9]\d\d[DM]$/).test(TrainNumber) || new RegExp(/^5[1-7]\d\d[DM]$/).test(TrainNumber) || new RegExp(/^3[2-9]\d\d[DM]$/).test(TrainNumber) @@ -643,48 +804,64 @@ export const customTrainDataDetector = (TrainNumber: string) => { infoUrl: null, trainNumDistance: null, info: null, + infogram: "" }; - else - return { - type: "Normal", - trainName: "", - trainIcon: null, - infoUrl: null, - trainNumDistance: null, - info: null, - }; - break; + else if ( + new RegExp(/^[1-9]\d\d[DM]$/).test(TrainNumber) || + new RegExp(/^1[26]\d\d[DM]$/).test(TrainNumber) || + new RegExp(/^6\d\d\d[DM]$/).test(TrainNumber) + ){ + return { + type: "Normal", + trainName: "", + trainIcon: null, + infoUrl: null, + trainNumDistance: null, + info: null, + infogram: "" + }; + } else { + return { + type: "Other", + trainName: "", + trainIcon: null, + infoUrl: null, + trainNumDistance: null, + info: null, + infogram: "" + }; + } } }; export const getJRF = (num: string) => { switch (num) { case "71": - return "東京(タ)→高松(タ)\\n"; + return "東京(タ)→高松(タ)"; case "73": case "75": - return "大阪(タ)→高松(タ)\\n"; + return "大阪(タ)→高松(タ)"; case "3079": - return "高松(タ)→伊予三島\\n"; + return "高松(タ)→伊予三島"; case "3071": case "3077": - return "高松(タ)→新居浜\\n"; + return "高松(タ)→新居浜"; case "3073": - return "高松(タ)→松山貨物\\n"; + return "高松(タ)→松山貨物"; case "70": - return "高松(タ)→東京(タ)\\n"; + return "高松(タ)→東京(タ)"; case "74": case "76": - return "高松(タ)→大阪(タ)\\n"; + return "高松(タ)→大阪(タ)"; case "3078": - return "伊予三島→高松(タ)\\n"; + return "伊予三島→高松(タ)"; case "3070": - return "新居浜→高松(タ)\\n"; + return "新居浜→高松(タ)"; case "3076": - return "新居浜→高松(タ)\\n"; + return "新居浜→高松(タ)"; case "3072": - return "松山貨物→高松(タ)\\n"; + return "松山貨物→高松(タ)"; case "9070": - return "臨時貨物\\n"; + return "臨時"; default: return null; } diff --git a/lib/getTrainType.ts b/lib/getTrainType.ts index 264da8a..5dda2d3 100644 --- a/lib/getTrainType.ts +++ b/lib/getTrainType.ts @@ -23,12 +23,16 @@ type getTrainType = (d: nameString) => { export const getTrainType: getTrainType = (nameString) => { switch (nameString) { case "Rapid": + case "OneManRapid": return { color: "aqua", name: "快速", data: "rapid" }; case "LTDEXP": return { color: "red", name: "特急", data: "express" }; case "NightLTDEXP": return { color: "red", name: "寝台特急", data: "express" }; case "SPCL": + case "SPCL_Rapid": + case "SPCL_EXP": + case "SPCL_Normal": return { color: "#297bff", name: "臨時", data: "normal" }; case "OneMan": return { color: "white", name: "普通列車(ワンマン)", data: "normal" }; diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index e4d9542..cdb4533 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -902,97 +902,89 @@ export const injectJavascriptData: InjectJavascriptData = ( // case "8094D": // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185iyoy.png'); // break; - // // 高徳線、徳島線、牟岐線、鳴門線普通列車系統 - // // キハ40・47 - // case "4303D": - // case "363D": - // case "369D": - // case "314D": - // case "316D": - // case "368D": - // case "4382D": - // case "951D": - // case "953D": - // case "955D": - // case "973D": - // case "975D": - // case "977D": - // case "979D": - // case "981D": - // case "950D": - // case "968D": - // case "970D": - // case "972D": - // case "974D": - // case "976D": - // case "980D": - // case "982D": - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s40.png'); - // break; - // // 1000形 - // case "4309D": - // case "4311D": - // case "371D": - // case "4318D": - // case "358D": - // case "4380D": - // case "433D": - // case "473D": - // case "450D": - // case "480D": - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png'); - // break; - // // 1200形 - // case "4301D": - // case "4327D": - // case "4329D": - // case "4343D": - // case "351D": - // case "353D": - // case "355D": - // case "4355D": - // case "4361D": - // case "367D": - // case "4330D": - // case "4336D": - // case "4346D": - // case "360D": - // case "362D": - // case "4370D": - // case "374D": - // case "4378D": - // case "451D": - // case "4453D": - // case "4455D": - // case "4459D": - // case "471D": - // case "475D": - // case "485D": - // case "4430D": - // case "434D": - // case "438D": - // case "4460D": - // case "4466D": - // case "4470D": - // case "474D": - // case "484D": - // case "957D": - // case "4959D": - // case "4963D": - // case "4967D": - // case "4971D": - // case "4983D": - // case "952D": - // case "4954D": - // case "4958D": - // case "4962D": - // case "4966D": - // case "4978D": - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1200n.png'); - // break; + + // 高徳線、徳島線、牟岐線、鳴門線普通列車系統 + // キハ40・47 + case "4303D": + case "371D": + case "316D": + case "362D": + case "4376D": + case "951D": + case "953D": + case "955D": + case "973D": + case "975D": + case "977D": + case "979D": + case "981D": + case "950D": + case "968D": + case "970D": + case "972D": + case "974D": + case "976D": + case "980D": + case "982D": + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s40.png'); + break; + // 1000形 + case "4311D": + case "363D": + case "356D": + case "4374D": + case "433D": + case "4447D": + case "451D": + case "450D": + case "4458D": + case "474D": + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png'); + break; + // 1200形 + case "4301D": + case "4327D": + case "4329D": + case "4343D": + case "353D": + case "355D": + case "367D": + case "310D": + case "4326D": + case "4334D": + case "4342D": + case "358D": + case "364D": + case "4453D": + case "4455D": + case "4457D": + case "463D": + case "475D": + case "477D": + case "485D": + case "4430D": + case "434D": + case "438D": + case "4460D": + case "4464D": + case "4466D": + case "478D": + case "484D": + case "957D": + case "4959D": + case "4963D": + case "4967D": + case "4971D": + case "952D": + case "4954D": + case "4958D": + case "4962D": + case "4966D": + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1200n.png'); + break; - // default: //指定車両でなく、Regexでの指定に移動 + default: //指定車両でなく、Regexでの指定に移動 // // 琴平直通系普通電車 // if(new RegExp(/^(1|4|5)2\\d\\dM$/).test(列番データ)){ // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7200.png'); @@ -1006,30 +998,31 @@ export const injectJavascriptData: InjectJavascriptData = ( // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7000.png'); // break; // }// 高徳線 普通列車系統 - // else if(new RegExp(/^(4|5)3\\d\\dD$/).test(列番データ)){ - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); - // break; - // } - // else if(new RegExp(/^3\\d\\dD$/).test(列番データ)){ - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); - // break; - // }// 徳島線 普通列車系統 - // else if(new RegExp(/^(4|5)4\\d\\dD$/).test(列番データ)){ - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); - // break; - // } - // else if(new RegExp(/^4\\d\\dD$/).test(列番データ)){ - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); - // break; - // }// 鳴門線普通列車系統 - // else if(new RegExp(/^(4|5)9(5|6|7|8)\\dD$/).test(列番データ)){ - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); - // break; - // } - // else if(new RegExp(/^9(5|6|7|8)\\dD$/).test(列番データ)){ - // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); - // break; - // } + // else + if(new RegExp(/^(4|5)3\\d\\dD$/).test(列番データ)){ + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); + break; + } + else if(new RegExp(/^3\\d\\dD$/).test(列番データ)){ + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); + break; + }// 徳島線 普通列車系統 + else if(new RegExp(/^(4|5)4\\d\\dD$/).test(列番データ)){ + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); + break; + } + else if(new RegExp(/^4\\d\\dD$/).test(列番データ)){ + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); + break; + }// 鳴門線普通列車系統 + else if(new RegExp(/^(4|5)9(5|6|7|8)\\dD$/).test(列番データ)){ + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); + break; + } + else if(new RegExp(/^9(5|6|7|8)\\dD$/).test(列番データ)){ + setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1500.png'); + break; + } // 牟岐線普通列車系統 一旦閉鎖 // else if(new RegExp(/^(4|5)5\\d\\dD$/).test(列番データ)){ // setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s7200.png'); diff --git a/stateBox/useAllTrainDiagram.js b/stateBox/useAllTrainDiagram.js index f474dd9..9f72b17 100644 --- a/stateBox/useAllTrainDiagram.js +++ b/stateBox/useAllTrainDiagram.js @@ -16,8 +16,8 @@ export const AllTrainDiagramProvider = ({ children }) => { [allTrainDiagram] ); const customData = { - "9395D":"高松,発,22:10#昭和町,発,22:12#栗林公園北口,発,22:15#栗林,発,22:18#木太町,発,22:22#屋島,発,22:26#古高松南,発,22:38#八栗口,発,22:41#讃岐牟礼,発,22:44#志度,発,22:48#オレンジタウン,発,22:52#造田,発,22:56#神前,発,22:59#讃岐津田,発,23:05#鶴羽,発,23:09#丹生,発,23:14#三本松,着,23:18#WEST LIVE TOUR 2025臨/三本松,提,https://www.jr-shikoku.co.jp/03_news/pdf/20250228_20250323_west-live-tour-2025.pdf#普通 三本松行,提,https://www.jr-shikoku.co.jp/03_news/pdf/20250228_20250323_west-live-tour-2025.pdf#", - "9174M":"高松,発,22:00#坂出,発,22:16#児島,発,22:39#茶屋町,発,22:55#早島,発,22:59#妹尾,発,23:03#岡山,着,23:12#WEST LIVE TOUR 2025臨,提,https://www.jr-shikoku.co.jp/03_news/pdf/20250228_20250323_west-live-tour-2025.pdf#快速マリンライナー94号 岡山行,提,https://www.jr-shikoku.co.jp/03_news/pdf/20250228_20250323_west-live-tour-2025.pdf#", + "9395D":"WEST LIVE TOUR 2025臨,提,https://www.jr-shikoku.co.jp/03_news/pdf/20250228_20250323_west-live-tour-2025.pdf#高松,発,22:10#昭和町,発,22:12#栗林公園北口,発,22:15#栗林,発,22:18#木太町,発,22:22#屋島,発,22:26#古高松南,発,22:38#八栗口,発,22:41#讃岐牟礼,発,22:44#志度,発,22:48#オレンジタウン,発,22:52#造田,発,22:56#神前,発,22:59#讃岐津田,発,23:05#鶴羽,発,23:09#丹生,発,23:14#三本松,着,23:18#", + "9174M":"WEST LIVE TOUR 2025臨,提,https://www.jr-shikoku.co.jp/03_news/pdf/20250228_20250323_west-live-tour-2025.pdf#高松,発,22:00#坂出,発,22:16#児島,発,22:39#茶屋町,発,22:55#早島,発,22:59#妹尾,発,23:03#岡山,着,23:12#", }; useEffect(() => {