From e8e9d709eebb3b7827e4579e063439ef779eb48a Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Sun, 27 Jul 2025 03:24:18 +0000 Subject: [PATCH] =?UTF-8?q?=E8=B2=A8=E7=89=A9=E3=82=84=E5=9B=9E=E9=80=81?= =?UTF-8?q?=E3=81=AA=E3=81=A9=E3=81=AE=E8=A1=8C=E5=85=88=E3=82=BF=E3=82=B0?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EachTrainInfoCore/HeaderText.tsx | 26 ++-- lib/webViewInjectjavascript.ts | 133 +++++++++++++----- 2 files changed, 116 insertions(+), 43 deletions(-) diff --git a/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx b/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx index 79b6195..8203126 100644 --- a/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx +++ b/components/ActionSheetComponents/EachTrainInfoCore/HeaderText.tsx @@ -56,28 +56,32 @@ export const HeaderText: FC = ({ ); 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 "Rapid": + return ["快速", true, false]; + case "OneManRapid": + return ["快速", true, true]; + case "LTDEXP": + return ["特急", true, false]; case "NightLTDEXP": return ["特急", true, false]; case "SPCL": - return ["臨時", false, false]; - case "SPCL_EXP": - return ["臨時特急", false, false]; - case "SPCL_Rapid": - return ["臨時快速", true, false]; + return ["臨時", true, false]; case "SPCL_Normal": return ["臨時", true, false]; + case "SPCL_Rapid": + return ["臨時快速", true, false]; + case "SPCL_EXP": + return ["臨時特急", true, false]; case "Freight": return ["貨物", false, false]; + case "Forwarding": + return ["回送", false, false]; + case "FreightForwarding": + return ["単機回送", false, false]; case "Other": switch (true) { case !!trainNum.includes("T"): diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index 088bd84..55157d3 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -1274,30 +1274,37 @@ export const injectJavascriptData: InjectJavascriptData = ( case "OneMan": trainTypeColor = "black"; return "普通"; - case "Freight": - trainTypeColor = "black"; - return "貨物"; - case "SPCL_Normal": - trainTypeColor = "#297bff"; - return "臨時"; - case "SPCL_Rapid": - trainTypeColor = "#297bff"; - return "臨時快速"; - case "SPCL_LTDEXP": - trainTypeColor = "#297bff"; - return "臨時特急"; + case "Rapid": + trainTypeColor = "rgba(0, 140, 255, 1)"; + return "快速"; + case "OneManRapid": + trainTypeColor = "rgba(0, 140, 255, 1)"; + return "快速"; case "LTDEXP": trainTypeColor = "red"; return "特急"; case "NightLTDEXP": - trainTypeColor = "rgb(211, 0, 176)"; + trainTypeColor = "#d300b0ff"; return "寝台特急"; - case "OneManRapid": - trainTypeColor = "rgba(0, 140, 255, 1)"; - return "快速"; - case "Rapid": - trainTypeColor = "rgba(0, 140, 255, 1)"; - return "快速"; + case "SPCL": + case "SPCL_Normal": + trainTypeColor = "#000000ff"; + return "臨時"; + case "SPCL_Rapid": + trainTypeColor = "rgba(0, 81, 255, 1)"; + return "臨時快速"; + case "SPCL_EXP": + trainTypeColor = "#a52e2eff"; + return "臨時特急"; + case "Freight": + trainTypeColor = "#00869ecc"; + return "貨物"; + case "Forwarding": + trainTypeColor = "black"; + return "回送"; + case "FreightForwarding": + trainTypeColor = "black"; + return "単機回送"; default: return ""; } @@ -1337,11 +1344,27 @@ export const injectJavascriptData: InjectJavascriptData = ( getColors = stationLines.map(e => GetLineBarColor(e)); } let yosan2Color = undefined; - if(viaData == "(内子経由)"){ - yosan2Color ="#F5AC13"; - } - else if(viaData == "(海経由)"){ - yosan2Color = "#9AA7D7"; + switch(viaData){ + case "(内子経由)": + yosan2Color = "#F5AC13"; + break; + case "(海経由)": + yosan2Color = "#9AA7D7"; + break; + case "牟岐線直通": + yosan2Color = "#00b8bb"; + break; + case "徳島線直通": + yosan2Color = "#2d506e"; + break; + case "高徳線直通": + yosan2Color = "#87CA3B"; + break; + case "鳴門線直通": + yosan2Color = "#881F61"; + break; + default: + break; } const gradient = getColors.length > 1 ? "linear-gradient(130deg, " + getColors[0] + " 0%, "+ getColors[0]+"50%, "+ getColors[1]+"50%, " + getColors[1] + " 100%)" : getColors[0]; @@ -1359,17 +1382,63 @@ export const injectJavascriptData: InjectJavascriptData = ( ` -const setNewTrainItem = (element,hasProblem)=>{ +const setNewTrainItem = (element,hasProblem,type)=>{ var 列番データ = element.getAttribute('offclick').split('"')[1]; const JRFTemp = getJRF(列番データ); - if(element.getAttribute('offclick').includes("express")){ - element.style.borderColor = 'rgba(255, 0, 0, 1)'; - }else if(element.getAttribute('offclick').includes("rapid")){ - element.style.borderColor = 'rgba(0, 140, 255, 1)'; - }else if(JRFTemp){ - element.style.borderColor = 'rgba(0, 134, 158, 0.8)'; + if(trainDataList.find(e => e.id === 列番データ) !== undefined){ + const data = trainDataList.find(e => e.id === 列番データ); + switch (data.type) { + case "Normal": + element.style.borderColor = "black"; + break; + case "OneMan": + element.style.borderColor = "black"; + break; + case "Rapid": + element.style.borderColor = "rgba(0, 140, 255, 1)"; + break; + case "OneManRapid": + element.style.borderColor = "rgba(0, 140, 255, 1)"; + break; + case "LTDEXP": + element.style.borderColor = "red"; + break; + case "NightLTDEXP": + element.style.borderColor = "#d300b0ff"; + break; + case "SPCL": + case "SPCL_Normal": + element.style.borderColor = "#000000ff"; + break; + case "SPCL_Rapid": + element.style.borderColor = "rgba(0, 81, 255, 1)"; + break; + case "SPCL_EXP": + element.style.borderColor = "#a52e2eff"; + break; + case "Freight": + element.style.borderColor = "#00869ecc"; + break; + case "Forwarding": + element.style.borderColor = "black"; + break; + case "FreightForwarding": + element.style.borderColor = "black"; + break; + default: + element.style.borderColor = 'black'; + break; + } }else{ - element.style.borderColor = 'black'; + if(element.getAttribute('offclick').includes("express")){ + element.style.borderColor = '#ff0000ff'; + }else if(element.getAttribute('offclick').includes("rapid")){ + element.style.borderColor = '#008cffff'; + }else if(JRFTemp){ + element.style.borderColor = '#00869ecc'; + }else{ + element.style.borderColor = 'black'; + } } element.style.borderWidth = '2px'; element.style.borderStyle = 'solid';