Compare commits
41 Commits
2f76e3776f
...
e6fab84393
Author | SHA1 | Date | |
---|---|---|---|
|
e6fab84393 | ||
|
de2b94292d | ||
|
ff41948f14 | ||
|
403466d4fa | ||
|
390acdeab7 | ||
|
8c75e06ac1 | ||
|
f0c5402050 | ||
|
1f0f1a0ed3 | ||
|
20ab13bcaa | ||
|
e16783ecfb | ||
|
9b1fee75c7 | ||
|
a2b37f4f35 | ||
|
1ff2f234e8 | ||
|
842b724103 | ||
|
7f148c17e4 | ||
|
e604df3e6a | ||
|
8bc048523e | ||
|
ea39f00515 | ||
|
3e12371b16 | ||
|
f6a571bcfe | ||
|
3d75ab149f | ||
|
9fe53f55e9 | ||
|
ff7a5624e6 | ||
|
db53878385 | ||
|
45500e7a4a | ||
|
740815704e | ||
|
795e535e23 | ||
|
6a888e6e12 | ||
|
b5b650695a | ||
|
9b79f224d3 | ||
|
5725e2645d | ||
|
2c5023568a | ||
|
88b1a892e4 | ||
|
7f364adde9 | ||
|
a9e9a5cb3b | ||
|
15be3eaab2 | ||
|
fa07287da0 | ||
|
281a816673 | ||
|
ff4a24e07a | ||
|
2ed67389c0 | ||
|
047848ed1a |
3
Apps.js
3
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 (
|
||||
<NavigationContainer ref={navigationRef}>
|
||||
<Tab.Navigator
|
||||
tabBarOptions={{ keyboardHidesTabBar: Platform.OS === "android" }}
|
||||
initialRouteName="topMenu"
|
||||
screenOptions={{
|
||||
lazy: false,
|
||||
animation: "shift",
|
||||
tabBarHideOnKeyboard: Platform.OS === "android",
|
||||
}}
|
||||
detachInactiveScreens={false}
|
||||
lazy={false}
|
||||
|
2
Top.js
2
Top.js
@ -6,7 +6,7 @@ import TrainBase from "./components/trainbaseview";
|
||||
import HowTo from "./howto";
|
||||
import News from "./components/news";
|
||||
import TrainMenu from "./components/trainMenu";
|
||||
import FavoriteList from "./components/FavoriteList";
|
||||
import { FavoriteList } from "./components/FavoriteList";
|
||||
import { optionData } from "./lib/stackOption";
|
||||
import { useCurrentTrain } from "./stateBox/useCurrentTrain";
|
||||
import { useTrainMenu } from "./stateBox/useTrainMenu";
|
||||
|
BIN
assets/fonts/JNRfont_pict.ttf
Normal file
BIN
assets/fonts/JNRfont_pict.ttf
Normal file
Binary file not shown.
94
assets/fonts/JNRfont_readme.txt
Normal file
94
assets/fonts/JNRfont_readme.txt
Normal file
@ -0,0 +1,94 @@
|
||||
◆国鉄っぽいフォント(ぽいフォント)ピクトfor Win(xp)
|
||||
かつて日本国有鉄道(国鉄)の吊り下げ式駅名標や駅の案内で使用されていたもピクトグラム
|
||||
(プラスアルファ)を搭載したフォントです。
|
||||
東海地方~四国で広く使用されていたものを見本としています。
|
||||
|
||||
◆作成ソフト
|
||||
TTEditにより作成しています。
|
||||
|
||||
◆インストールの方法
|
||||
「スタート」から設定、コントロールパネルを開き、さらに「フォント」フォルダを開きます。
|
||||
ファイルメニューから「新しいフォントのインストール」で、フォントを選択のうえインストール
|
||||
してください。
|
||||
また、フォントファイルを適宜の場所に解凍し、上記「フォント」フォルダを開いたうえで、
|
||||
ドラッグアンドドロップする方法でもインストールできます。
|
||||
|
||||
◆収録文字・記号一覧
|
||||
左側が入力文字、右側が表示されるピクト類です。
|
||||
0…公衆電話
|
||||
1…エスカレーター(のぼり)
|
||||
2…エスカレーター(くだり)
|
||||
3…階段(おり)
|
||||
4…階段(のぼり)
|
||||
B…国鉄バスつばめマーク(つばめ左向き)
|
||||
C…国鉄バスつばめマーク(つばめ右向き)
|
||||
G…グリーン車マーク
|
||||
J…国鉄「JNR」ロゴ
|
||||
L…L特急マーク
|
||||
M…公衆便所(男性)
|
||||
S…シルバーシート
|
||||
W…公衆便所(女性)
|
||||
い…手荷物一時預かり
|
||||
お…大阪市内の駅マーク
|
||||
き…京都市内の駅マーク
|
||||
く…北九州市内の駅マーク
|
||||
け…禁煙マーク
|
||||
こ…神戸市内の駅マーク
|
||||
さ…札幌市内の駅マーク
|
||||
し…新幹線
|
||||
せ…仙台市内の駅マーク
|
||||
た…タクシー
|
||||
つ…つばめマーク(つばめ左向き)
|
||||
ツ…つばめマーク(つばめ右向き)
|
||||
て…手荷物預かり
|
||||
で…国電
|
||||
と…東京都区内の駅マーク
|
||||
な…名古屋市内の駅マーク
|
||||
は…国鉄ハイウェイバス
|
||||
ば…路線バス
|
||||
ひ…広島市内の駅マーク
|
||||
ふ…福岡市内の駅マーク
|
||||
ぶ…寝台急行マーク
|
||||
ブ…寝台特急マーク
|
||||
や…東京山手線内の駅マーク
|
||||
ゆ…温泉マーク
|
||||
よ…横浜市内の駅マーク
|
||||
れ…レール
|
||||
ろ…コインロッカー
|
||||
←…矢印(左向き)
|
||||
→…矢印(右向き)
|
||||
↑…矢印(上向き)
|
||||
↓…矢印(下向き)
|
||||
|
||||
◆ご使用に当たってのお願い
|
||||
フォントは無料にて配布しています。商用利用には耐えられない出来だと思いますが、ご自身
|
||||
の責任においてご自由にお使いください。
|
||||
インストール及び使用にあたっても、ご自身の責任においてご使用ください。インストールや
|
||||
使用によって蒙る損害については、当方は一切責任を負いかねます。
|
||||
|
||||
◆Windows Vistaをお使いの方へ
|
||||
Windows Vistaをお使いの方で、フォントのエッジ(縁)を滑らかにしたい方は、スクリーンフ
|
||||
ォントの縁を滑らかにする方法を「標準」にしてください。Clear Typeだと滑らかに表示されない
|
||||
場合があります。
|
||||
・標準への変更方法
|
||||
1.ウィンドウ上で右クリックをします。
|
||||
2.現れたメニュー中の「個人設定」を選択。
|
||||
3.続いて「ウィンドウの色とデザイン」を選択。
|
||||
4.一番下の「「デザイン」プロパティを開きます」をクリックします。
|
||||
5.現れた別ウィンドウの「効果」ボタンをクリック。
|
||||
6.「次の方法でスクリーンフォントの縁を滑らかにする」のところを「Clear Type」から「標
|
||||
準」にします。
|
||||
※これでこのフォントについてはより滑らかに表示されますが、他のフォントが滑らかに表示さ
|
||||
れない場合が多くなります。
|
||||
|
||||
◆フォント自体についての若干のご説明
|
||||
このフォントは、前述のとおり、国鉄において東海地区から四国地区の吊り下げ式駅名標や各種
|
||||
案内表示で使用されたものを見本としています。もともとは、「鉄道掲示基準規程」という通達に
|
||||
定められているピクトグラムです。
|
||||
|
||||
|
||||
|
||||
--------------------------------------
|
||||
作成者:Yokochan
|
||||
ホームページ:「旅と鉄の盲腸」http://travelcecum.xsrv.jp/font.htm
|
||||
連絡先:travel_cecum@yahoo.co.jp
|
@ -847,5 +847,83 @@
|
||||
"5481D":"徳島,発,19:22#佐古,発,19:26#蔵本,発,19:30#鮎喰,発,19:33#府中,発,19:37#石井,発,19:43#下浦,発,19:47#牛島,発,19:51#麻植塚,発,19:54#鴨島,発,19:57#西麻植,発,20:00#阿波川島,発,20:04#学,発,20:13#山瀬,発,20:18#阿波山川,発,20:22#川田,発,20:26#穴吹,着,20:34#",
|
||||
"5483D":"徳島,発,19:52#佐古,発,19:55#蔵本,発,19:58#鮎喰,発,20:01#府中,発,20:05#石井,発,20:09#下浦,発,20:13#牛島,発,20:17#麻植塚,発,20:21#鴨島,発,20:27#西麻植,発,20:31#阿波川島,発,20:44#学,発,20:48#山瀬,発,21:00#阿波山川,発,21:04#川田,発,21:08#穴吹,着,21:18#",
|
||||
"5489D":"徳島,発,22:52#佐古,発,22:55#蔵本,発,22:58#鮎喰,発,23:01#府中,発,23:05#石井,発,23:09#下浦,発,23:13#牛島,発,23:17#麻植塚,発,23:21#鴨島,発,23:24#西麻植,発,23:27#阿波川島,発,23:30#学,発,23:35#山瀬,発,23:39#阿波山川,発,23:43#川田,発,23:47#穴吹,着,23:54#",
|
||||
"8451D":"徳島,発,10:35#蔵本,発,10:42#石井,発,10:54#鴨島,発,11:11#阿波川島,発,11:22#穴吹,発,11:50#貞光,発,12:18#阿波加茂,発,12:39#阿波池田,着,12:59#"
|
||||
"8451D":"徳島,発,10:35#蔵本,発,10:42#石井,発,10:54#鴨島,発,11:11#阿波川島,発,11:22#穴吹,発,11:50#貞光,発,12:18#阿波加茂,発,12:39#阿波池田,着,12:59#",
|
||||
// 牟岐線運用
|
||||
// 上り
|
||||
"4520D":"阿南,発,05:44#阿波中島,発,05:48#西原,発,05:52#羽ノ浦,発,05:56#立江,発,06:00#阿波赤石,発,06:03#南小松島,発,06:08#中田,発,06:11#地蔵橋,発,06:16#文化の森,発,06:20#二軒屋,発,06:22#阿波富田,発,06:26#徳島,着,06:28#",
|
||||
"522D":"牟岐,発,05:40#辺川,発,05:44#山河内,発,05:52#日和佐,発,05:58#北河内,発,06:01#木岐,発,06:06#由岐,発,06:10#阿波福井,発,06:17#新野,発,06:21#桑野,発,06:26#阿波橘,発,06:31#見能林,発,06:34#阿南,発,06:47#阿波中島,発,06:51#西原,発,06:54#羽ノ浦,発,06:57#立江,発,07:01#阿波赤石,発,07:03#南小松島,発,07:08#中田,発,07:11#地蔵橋,発,07:15#文化の森,発,07:18#二軒屋,発,07:23#阿波富田,発,07:26#徳島,着,07:28#",
|
||||
"524D":"阿南,発,07:01#阿波中島,発,07:05#西原,発,07:09#羽ノ浦,発,07:13#立江,発,07:17#阿波赤石,発,07:20#南小松島,発,07:25#中田,発,07:34#地蔵橋,発,07:38#文化の森,発,07:42#二軒屋,発,07:44#阿波富田,発,07:48#徳島,着,07:50#",
|
||||
"526D":"桑野,発,07:02#阿波橘,発,07:07#見能林,発,07:11#阿南,発,07:15#阿波中島,発,07:19#西原,発,07:22#羽ノ浦,発,07:28#立江,発,07:32#阿波赤石,発,07:35#南小松島,発,07:41#中田,発,07:45#地蔵橋,発,07:49#文化の森,発,07:52#二軒屋,発,08:00#阿波富田,発,08:04#徳島,着,08:06#",
|
||||
"528D":"牟岐,発,06:32#辺川,発,06:36#山河内,発,06:43#日和佐,発,06:50#北河内,発,06:53#木岐,発,06:58#由岐,発,07:04#阿波福井,発,07:11#新野,発,07:16#桑野,発,07:21#阿波橘,発,07:26#見能林,発,07:30#阿南,発,07:36#阿波中島,発,07:40#西原,発,07:43#羽ノ浦,発,07:47#立江,発,07:51#阿波赤石,発,07:54#南小松島,発,08:00#中田,発,08:07#地蔵橋,発,08:11#文化の森,発,08:15#二軒屋,発,08:17#阿波富田,発,08:20#徳島,着,08:22#",
|
||||
"530D":"阿波海南,発,06:57#浅川,発,07:01#鯖瀬,発,07:05#牟岐,発,07:12#辺川,発,07:17#山河内,発,07:24#日和佐,発,07:31#北河内,発,07:34#木岐,発,07:39#由岐,発,07:43#阿波福井,発,07:50#新野,発,07:54#桑野,発,07:59#阿波橘,発,08:04#見能林,発,08:07#阿南,発,08:14#阿波中島,発,08:18#西原,発,08:21#羽ノ浦,発,08:25#立江,発,08:28#阿波赤石,発,08:31#南小松島,発,08:39#中田,発,08:42#地蔵橋,発,08:46#文化の森,発,08:49#二軒屋,発,08:52#阿波富田,発,08:55#徳島,着,08:57#",
|
||||
"532D":"桑野,発,08:31#阿波橘,発,08:36#見能林,発,08:40#阿南,発,08:44#阿波中島,発,08:48#西原,発,08:51#羽ノ浦,発,08:57#立江,発,09:01#阿波赤石,発,09:03#南小松島,発,09:08#中田,発,09:12#地蔵橋,発,09:16#文化の森,発,09:20#二軒屋,発,09:23#阿波富田,発,09:26#徳島,着,09:29#",
|
||||
"534D":"阿南,発,09:26#阿波中島,発,09:30#西原,発,09:33#羽ノ浦,発,09:37#立江,発,09:40#阿波赤石,発,09:43#南小松島,発,09:50#中田,発,09:53#地蔵橋,発,09:57#文化の森,発,10:00#二軒屋,発,10:06#阿波富田,発,10:09#徳島,着,10:12#",
|
||||
"4536D":"阿波海南,発,08:25#浅川,発,08:29#鯖瀬,発,08:33#牟岐,発,08:54#辺川,発,08:58#山河内,発,09:06#日和佐,発,09:13#北河内,発,09:16#木岐,発,09:21#由岐,発,09:25#阿波福井,発,09:32#新野,発,09:36#桑野,発,09:41#阿波橘,発,09:46#見能林,発,09:49#阿南,着,09:52#",
|
||||
"536D":"阿南,発,09:56#阿波中島,発,10:00#西原,発,10:03#羽ノ浦,発,10:07#立江,発,10:10#阿波赤石,発,10:13#南小松島,発,10:20#中田,発,10:23#地蔵橋,発,10:27#文化の森,発,10:30#二軒屋,発,10:36#阿波富田,発,10:39#徳島,着,10:42#",
|
||||
"538D":"阿南,発,10:26#阿波中島,発,10:30#西原,発,10:33#羽ノ浦,発,10:37#立江,発,10:40#阿波赤石,発,10:43#南小松島,発,10:50#中田,発,10:53#地蔵橋,発,10:57#文化の森,発,11:00#二軒屋,発,11:06#阿波富田,発,11:09#徳島,着,11:12#",
|
||||
"540D":"阿南,発,10:56#阿波中島,発,11:00#西原,発,11:03#羽ノ浦,発,11:07#立江,発,11:10#阿波赤石,発,11:13#南小松島,発,11:20#中田,発,11:23#地蔵橋,発,11:27#文化の森,発,11:30#二軒屋,発,11:36#阿波富田,発,11:39#徳島,着,11:42#",
|
||||
"542D":"牟岐,発,10:24#辺川,発,10:28#山河内,発,10:36#日和佐,発,10:43#北河内,発,10:46#木岐,発,10:51#由岐,発,10:55#阿波福井,発,11:02#新野,発,11:06#桑野,発,11:11#阿波橘,発,11:16#見能林,発,11:19#阿南,発,11:26#阿波中島,発,11:30#西原,発,11:33#羽ノ浦,発,11:37#立江,発,11:40#阿波赤石,発,11:43#南小松島,発,11:50#中田,発,11:53#地蔵橋,発,11:57#文化の森,発,12:00#二軒屋,発,12:06#阿波富田,発,12:09#徳島,着,12:12#",
|
||||
"4544D":"阿南,発,11:56#阿波中島,発,12:00#西原,発,12:03#羽ノ浦,発,12:07#立江,発,12:10#阿波赤石,発,12:13#南小松島,発,12:20#中田,発,12:23#地蔵橋,発,12:27#文化の森,発,12:30#二軒屋,発,12:36#阿波富田,発,12:39#徳島,着,12:42#",
|
||||
"4546D":"阿南,発,12:26#阿波中島,発,12:30#西原,発,12:33#羽ノ浦,発,12:37#立江,発,12:40#阿波赤石,発,12:43#南小松島,発,12:50#中田,発,12:53#地蔵橋,発,12:57#文化の森,発,13:00#二軒屋,発,13:06#阿波富田,発,13:09#徳島,着,13:12#",
|
||||
"4548D":"阿南,発,12:56#阿波中島,発,13:00#西原,発,13:03#羽ノ浦,発,13:07#立江,発,13:10#阿波赤石,発,13:13#南小松島,発,13:20#中田,発,13:23#地蔵橋,発,13:27#文化の森,発,13:30#二軒屋,発,13:36#阿波富田,発,13:39#徳島,着,13:42#",
|
||||
"4550D":"阿波海南,発,12:08#浅川,発,12:12#鯖瀬,発,12:16#牟岐,発,12:24#辺川,発,12:28#山河内,発,12:36#日和佐,発,12:43#北河内,発,12:46#木岐,発,12:51#由岐,発,12:55#阿波福井,発,13:02#新野,発,13:06#桑野,発,13:11#阿波橘,発,13:16#見能林,発,13:19#阿南,発,13:26#阿波中島,発,13:30#西原,発,13:33#羽ノ浦,発,13:37#立江,発,13:40#阿波赤石,発,13:43#南小松島,発,13:50#中田,発,13:53#地蔵橋,発,13:57#文化の森,発,14:00#二軒屋,発,14:06#阿波富田,発,14:09#徳島,着,14:12#",
|
||||
"552D":"阿南,発,13:56#阿波中島,発,14:00#西原,発,14:03#羽ノ浦,発,14:07#立江,発,14:10#阿波赤石,発,14:13#南小松島,発,14:20#中田,発,14:23#地蔵橋,発,14:27#文化の森,発,14:30#二軒屋,発,14:36#阿波富田,発,14:39#徳島,着,14:42#",
|
||||
"4554D":"阿南,発,14:26#阿波中島,発,14:30#西原,発,14:33#羽ノ浦,発,14:37#立江,発,14:40#阿波赤石,発,14:43#南小松島,発,14:50#中田,発,14:53#地蔵橋,発,14:57#文化の森,発,15:00#二軒屋,発,15:06#阿波富田,発,15:09#徳島,着,15:12#",
|
||||
"4556D":"阿南,発,14:56#阿波中島,発,15:00#西原,発,15:03#羽ノ浦,発,15:07#立江,発,15:10#阿波赤石,発,15:13#南小松島,発,15:20#中田,発,15:23#地蔵橋,発,15:27#文化の森,発,15:30#二軒屋,発,15:36#阿波富田,発,15:39#徳島,着,15:41#",
|
||||
"4558D":"阿波海南,発,14:08#浅川,発,14:12#鯖瀬,発,14:16#牟岐,発,14:24#辺川,発,14:28#山河内,発,14:36#日和佐,発,14:43#北河内,発,14:46#木岐,発,14:51#由岐,発,14:55#阿波福井,発,15:02#新野,発,15:06#桑野,発,15:11#阿波橘,発,15:16#見能林,発,15:19#阿南,発,15:26#阿波中島,発,15:30#西原,発,15:33#羽ノ浦,発,15:37#立江,発,15:40#阿波赤石,発,15:43#南小松島,発,15:50#中田,発,15:53#地蔵橋,発,15:57#文化の森,発,16:00#二軒屋,発,16:06#阿波富田,発,16:09#徳島,着,16:12#",
|
||||
"560D":"阿南,発,15:56#阿波中島,発,16:00#西原,発,16:03#羽ノ浦,発,16:07#立江,発,16:10#阿波赤石,発,16:13#南小松島,発,16:20#中田,発,16:23#地蔵橋,発,16:27#文化の森,発,16:30#二軒屋,発,16:36#阿波富田,発,16:39#徳島,着,16:42#",
|
||||
"562D":"桑野,発,16:11#阿波橘,発,16:16#見能林,発,16:19#阿南,発,16:26#阿波中島,発,16:30#西原,発,16:33#羽ノ浦,発,16:37#立江,発,16:40#阿波赤石,発,16:43#南小松島,発,16:50#中田,発,16:53#地蔵橋,発,16:57#文化の森,発,17:00#二軒屋,発,17:06#阿波富田,発,17:09#徳島,着,17:12#",
|
||||
"564D":"阿南,発,16:56#阿波中島,発,17:00#西原,発,17:03#羽ノ浦,発,17:07#立江,発,17:10#阿波赤石,発,17:13#南小松島,発,17:20#中田,発,17:23#地蔵橋,発,17:27#文化の森,発,17:30#二軒屋,発,17:36#阿波富田,発,17:39#徳島,着,17:42#",
|
||||
"4566D":"阿波海南,発,16:08#浅川,発,16:12#鯖瀬,発,16:16#牟岐,発,16:24#辺川,発,16:28#山河内,発,16:36#日和佐,発,16:43#北河内,発,16:46#木岐,発,16:51#由岐,発,16:55#阿波福井,発,17:02#新野,発,17:06#桑野,発,17:11#阿波橘,発,17:16#見能林,発,17:19#阿南,着,17:22#",
|
||||
"566D":"阿南,発,17:26#阿波中島,発,17:30#西原,発,17:33#羽ノ浦,発,17:37#立江,発,17:40#阿波赤石,発,17:43#南小松島,発,17:50#中田,発,17:53#地蔵橋,発,17:57#文化の森,発,18:00#二軒屋,発,18:06#阿波富田,発,18:09#徳島,着,18:12#",
|
||||
"568D":"阿南,発,17:56#阿波中島,発,18:00#西原,発,18:03#羽ノ浦,発,18:07#立江,発,18:10#阿波赤石,発,18:13#南小松島,発,18:20#中田,発,18:23#地蔵橋,発,18:27#文化の森,発,18:30#二軒屋,発,18:36#阿波富田,発,18:39#徳島,着,18:42#",
|
||||
"570D":"阿南,発,18:26#阿波中島,発,18:30#西原,発,18:33#羽ノ浦,発,18:37#立江,発,18:40#阿波赤石,発,18:43#南小松島,発,18:50#中田,発,18:53#地蔵橋,発,18:57#文化の森,発,19:00#二軒屋,発,19:06#阿波富田,発,19:09#徳島,着,19:12#",
|
||||
"4572D":"阿波海南,発,17:26#浅川,発,17:29#鯖瀬,発,17:33#牟岐,発,17:41#辺川,発,17:45#山河内,発,17:53#日和佐,発,18:02#北河内,発,18:05#木岐,発,18:10#由岐,発,18:14#阿波福井,発,18:22#新野,発,18:26#桑野,発,18:38#阿波橘,発,18:43#見能林,発,18:46#阿南,発,18:56#阿波中島,発,19:00#西原,発,19:03#羽ノ浦,発,19:07#立江,発,19:10#阿波赤石,発,19:13#南小松島,発,19:20#中田,発,19:23#地蔵橋,発,19:27#文化の森,発,19:30#二軒屋,発,19:36#阿波富田,発,19:39#徳島,着,19:42#",
|
||||
"574D":"阿南,発,19:26#阿波中島,発,19:30#西原,発,19:33#羽ノ浦,発,19:37#立江,発,19:40#阿波赤石,発,19:43#南小松島,発,19:50#中田,発,19:53#地蔵橋,発,19:57#文化の森,発,20:00#二軒屋,発,20:06#阿波富田,発,20:09#徳島,着,20:12#",
|
||||
"4576D":"阿波海南,発,18:26#浅川,発,18:29#鯖瀬,発,18:33#牟岐,発,18:41#辺川,発,18:45#山河内,発,18:53#日和佐,発,19:02#北河内,発,19:05#木岐,発,19:10#由岐,発,19:14#阿波福井,発,19:22#新野,発,19:26#桑野,発,19:30#阿波橘,発,19:35#見能林,発,19:38#阿南,着,19:41#",
|
||||
"576D":"阿南,発,19:56#阿波中島,発,20:00#西原,発,20:03#羽ノ浦,発,20:07#立江,発,20:10#阿波赤石,発,20:13#南小松島,発,20:20#中田,発,20:23#地蔵橋,発,20:27#文化の森,発,20:30#二軒屋,発,20:36#阿波富田,発,20:39#徳島,着,20:42#",
|
||||
"578D":"阿南,発,20:56#阿波中島,発,21:00#西原,発,21:03#羽ノ浦,発,21:07#立江,発,21:10#阿波赤石,発,21:13#南小松島,発,21:20#中田,発,21:23#地蔵橋,発,21:27#文化の森,発,21:30#二軒屋,発,21:36#阿波富田,発,21:39#徳島,着,21:42#",
|
||||
"4580D":"阿波海南,発,20:34#浅川,発,20:38#鯖瀬,発,20:44#牟岐,発,20:57#辺川,発,21:03#山河内,発,21:12#日和佐,発,21:20#北河内,発,21:23#木岐,発,21:28#由岐,発,21:32#阿波福井,発,21:41#新野,発,21:45#桑野,発,21:50#阿波橘,発,21:55#見能林,発,21:58#阿南,着,22:00#",
|
||||
"580D":"阿南,発,22:03#阿波中島,発,22:07#西原,発,22:10#羽ノ浦,発,22:14#立江,発,22:18#阿波赤石,発,22:20#南小松島,発,22:25#中田,発,22:28#地蔵橋,発,22:32#文化の森,発,22:36#二軒屋,発,22:39#阿波富田,発,22:42#徳島,着,22:44#",
|
||||
//下り
|
||||
"521D":"牟岐,発,06:34#鯖瀬,発,06:39#浅川,発,06:43#阿波海南,着,06:47#",
|
||||
"4523D":"徳島,発,05:45#阿波富田,発,05:48#二軒屋,発,05:51#文化の森,発,05:53#地蔵橋,発,05:57#中田,発,06:01#南小松島,発,06:07#阿波赤石,発,06:12#立江,発,06:15#羽ノ浦,発,06:18#西原,発,06:22#阿波中島,発,06:25#阿南,発,06:37#見能林,発,06:40#阿波橘,発,06:43#桑野,発,06:48#新野,発,06:53#阿波福井,発,06:56#由岐,発,07:12#木岐,発,07:15#北河内,発,07:21#日和佐,発,07:31#山河内,発,07:38#辺川,発,07:44#牟岐,発,07:51#鯖瀬,発,07:56#浅川,発,08:00#阿波海南,着,08:03#",
|
||||
"525D":"徳島,発,06:46#阿波富田,発,06:49#二軒屋,発,06:52#文化の森,発,06:54#地蔵橋,発,06:57#中田,発,07:02#南小松島,発,07:07#阿波赤石,発,07:12#立江,発,07:17#羽ノ浦,発,07:25#西原,発,07:29#阿波中島,発,07:32#阿南,発,07:45#見能林,発,07:49#阿波橘,発,07:52#桑野,発,07:59#新野,発,08:03#阿波福井,発,08:07#由岐,発,08:14#木岐,発,08:17#北河内,発,08:22#日和佐,発,08:25#山河内,発,08:32#辺川,発,08:39#牟岐,着,08:43#",
|
||||
"527D":"徳島,発,07:17#阿波富田,発,07:20#二軒屋,発,07:23#文化の森,発,07:25#地蔵橋,発,07:29#中田,発,07:34#南小松島,発,07:39#阿波赤石,発,07:44#立江,発,07:51#羽ノ浦,発,07:54#西原,発,07:58#阿波中島,発,08:01#阿南,発,08:10#見能林,発,08:14#阿波橘,発,08:18#桑野,着,08:23#",
|
||||
"529D":"徳島,発,07:51#阿波富田,発,07:55#二軒屋,発,07:58#文化の森,発,08:00#地蔵橋,発,08:03#中田,発,08:08#南小松島,発,08:12#阿波赤石,発,08:16#立江,発,08:19#羽ノ浦,発,08:25#西原,発,08:28#阿波中島,発,08:31#阿南,着,08:35#",
|
||||
"531D":"徳島,発,08:24#阿波富田,発,08:27#二軒屋,発,08:30#文化の森,発,08:32#地蔵橋,発,08:36#中田,発,08:42#南小松島,発,08:45#阿波赤石,発,08:50#立江,発,08:54#羽ノ浦,発,08:58#西原,発,09:01#阿波中島,発,09:04#阿南,着,09:08#",
|
||||
"4533D":"徳島,発,09:30#阿波富田,発,09:33#二軒屋,発,09:36#文化の森,発,09:38#地蔵橋,発,09:42#中田,発,09:46#南小松島,発,09:50#阿波赤石,発,09:54#立江,発,09:57#羽ノ浦,発,10:07#西原,発,10:10#阿波中島,発,10:13#阿南,発,10:24#見能林,発,10:27#阿波橘,発,10:30#桑野,発,10:35#新野,発,10:39#阿波福井,発,10:43#由岐,発,10:54#木岐,発,10:58#北河内,発,11:03#日和佐,発,11:06#山河内,発,11:13#辺川,発,11:20#牟岐,発,11:29#鯖瀬,発,11:34#浅川,発,11:38#阿波海南,着,11:42#",
|
||||
"535D":"徳島,発,10:00#阿波富田,発,10:03#二軒屋,発,10:06#文化の森,発,10:08#地蔵橋,発,10:12#中田,発,10:16#南小松島,発,10:20#阿波赤石,発,10:24#立江,発,10:27#羽ノ浦,発,10:37#西原,発,10:40#阿波中島,発,10:43#阿南,着,10:46#",
|
||||
"4537D":"徳島,発,10:30#阿波富田,発,10:33#二軒屋,発,10:36#文化の森,発,10:38#地蔵橋,発,10:42#中田,発,10:46#南小松島,発,10:50#阿波赤石,発,10:54#立江,発,10:57#羽ノ浦,発,11:07#西原,発,11:10#阿波中島,発,11:13#阿南,着,11:16#",
|
||||
"4539D":"徳島,発,11:00#阿波富田,発,11:03#二軒屋,発,11:06#文化の森,発,11:08#地蔵橋,発,11:12#中田,発,11:16#南小松島,発,11:20#阿波赤石,発,11:24#立江,発,11:27#羽ノ浦,発,11:37#西原,発,11:40#阿波中島,発,11:43#阿南,着,11:46#",
|
||||
"4541D":"徳島,発,11:30#阿波富田,発,11:33#二軒屋,発,11:36#文化の森,発,11:38#地蔵橋,発,11:42#中田,発,11:46#南小松島,発,11:50#阿波赤石,発,11:54#立江,発,11:57#羽ノ浦,発,12:07#西原,発,12:10#阿波中島,発,12:13#阿南,発,12:24#見能林,発,12:27#阿波橘,発,12:30#桑野,発,12:35#新野,発,12:39#阿波福井,発,12:43#由岐,発,12:54#木岐,発,12:58#北河内,発,13:03#日和佐,発,13:06#山河内,発,13:13#辺川,発,13:20#牟岐,発,13:29#鯖瀬,発,13:34#浅川,発,13:38#阿波海南,着,13:42#",
|
||||
"4543D":"徳島,発,12:00#阿波富田,発,12:03#二軒屋,発,12:06#文化の森,発,12:08#地蔵橋,発,12:12#中田,発,12:16#南小松島,発,12:20#阿波赤石,発,12:24#立江,発,12:27#羽ノ浦,発,12:37#西原,発,12:40#阿波中島,発,12:43#阿南,着,12:46#",
|
||||
"4545D":"徳島,発,12:30#阿波富田,発,12:33#二軒屋,発,12:36#文化の森,発,12:38#地蔵橋,発,12:42#中田,発,12:46#南小松島,発,12:50#阿波赤石,発,12:54#立江,発,12:57#羽ノ浦,発,13:07#西原,発,13:10#阿波中島,発,13:13#阿南,着,13:16#",
|
||||
"547D":"徳島,発,13:00#阿波富田,発,13:03#二軒屋,発,13:06#文化の森,発,13:08#地蔵橋,発,13:12#中田,発,13:16#南小松島,発,13:20#阿波赤石,発,13:24#立江,発,13:27#羽ノ浦,発,13:37#西原,発,13:40#阿波中島,発,13:43#阿南,着,13:46#",
|
||||
"4549D":"徳島,発,13:30#阿波富田,発,13:33#二軒屋,発,13:36#文化の森,発,13:38#地蔵橋,発,13:42#中田,発,13:46#南小松島,発,13:50#阿波赤石,発,13:54#立江,発,13:57#羽ノ浦,発,14:07#西原,発,14:10#阿波中島,発,14:13#阿南,発,14:24#見能林,発,14:27#阿波橘,発,14:30#桑野,発,14:35#新野,発,14:39#阿波福井,発,14:43#由岐,発,14:54#木岐,発,14:58#北河内,発,15:03#日和佐,発,15:06#山河内,発,15:13#辺川,発,15:20#牟岐,発,15:29#鯖瀬,発,15:34#浅川,発,15:38#阿波海南,着,15:42#",
|
||||
"4551D":"徳島,発,14:00#阿波富田,発,14:03#二軒屋,発,14:06#文化の森,発,14:08#地蔵橋,発,14:12#中田,発,14:16#南小松島,発,14:20#阿波赤石,発,14:24#立江,発,14:27#羽ノ浦,発,14:37#西原,発,14:40#阿波中島,発,14:43#阿南,着,14:46#",
|
||||
"4557D":"牟岐,発,16:49#鯖瀬,発,16:54#浅川,発,16:58#阿波海南,着,17:02#",
|
||||
"553D":"徳島,発,14:30#阿波富田,発,14:33#二軒屋,発,14:36#文化の森,発,14:38#地蔵橋,発,14:42#中田,発,14:46#南小松島,発,14:50#阿波赤石,発,14:54#立江,発,14:57#羽ノ浦,発,15:07#西原,発,15:10#阿波中島,発,15:13#阿南,着,15:16#",
|
||||
"555D":"徳島,発,15:00#阿波富田,発,15:03#二軒屋,発,15:06#文化の森,発,15:08#地蔵橋,発,15:12#中田,発,15:16#南小松島,発,15:20#阿波赤石,発,15:24#立江,発,15:27#羽ノ浦,発,15:37#西原,発,15:40#阿波中島,発,15:43#阿南,発,15:54#見能林,発,15:57#阿波橘,発,16:00#桑野,発,16:04#",
|
||||
"559D":"徳島,発,15:30#阿波富田,発,15:33#二軒屋,発,15:36#文化の森,発,15:38#地蔵橋,発,15:42#中田,発,15:46#南小松島,発,15:50#阿波赤石,発,15:54#立江,発,15:57#羽ノ浦,発,16:07#西原,発,16:10#阿波中島,発,16:13#阿南,着,16:16#",
|
||||
"4559D":"阿南,発,16:24#見能林,発,16:27#阿波橘,発,16:30#桑野,発,16:35#新野,発,16:39#阿波福井,発,16:43#由岐,発,16:54#木岐,発,16:58#北河内,発,17:03#日和佐,発,17:06#山河内,発,17:13#辺川,発,17:20#牟岐,発,17:39#鯖瀬,発,17:44#浅川,発,17:48#阿波海南,着,17:52#",
|
||||
"561D":"徳島,発,16:00#阿波富田,発,16:03#二軒屋,発,16:06#文化の森,発,16:08#地蔵橋,発,16:12#中田,発,16:16#南小松島,発,16:20#阿波赤石,発,16:24#立江,発,16:27#羽ノ浦,発,16:37#西原,発,16:40#阿波中島,発,16:43#阿南,着,16:46#",
|
||||
"563D":"徳島,発,16:30#阿波富田,発,16:33#二軒屋,発,16:36#文化の森,発,16:38#地蔵橋,発,16:42#中田,発,16:46#南小松島,発,16:50#阿波赤石,発,16:54#立江,発,16:57#羽ノ浦,発,17:07#西原,発,17:10#阿波中島,発,17:13#阿南,着,17:16#",
|
||||
"4563D":"阿南,発,17:24#見能林,発,17:27#阿波橘,発,17:30#桑野,発,17:35#新野,発,17:39#阿波福井,発,17:43#由岐,発,17:50#木岐,発,17:54#北河内,発,17:59#日和佐,発,18:02#山河内,発,18:09#辺川,発,18:16#牟岐,着,18:20#",
|
||||
"565D":"徳島,発,17:00#阿波富田,発,17:03#二軒屋,発,17:06#文化の森,発,17:08#地蔵橋,発,17:12#中田,発,17:16#南小松島,発,17:20#阿波赤石,発,17:24#立江,発,17:27#羽ノ浦,発,17:37#西原,発,17:40#阿波中島,発,17:43#阿南,着,17:46#",
|
||||
"567D":"徳島,発,17:30#阿波富田,発,17:33#二軒屋,発,17:36#文化の森,発,17:38#地蔵橋,発,17:42#中田,発,17:46#南小松島,発,17:50#阿波赤石,発,17:54#立江,発,17:57#羽ノ浦,発,18:07#西原,発,18:10#阿波中島,発,18:13#阿南,発,18:24#見能林,発,18:27#阿波橘,発,18:30#桑野,発,18:35#新野,発,18:39#阿波福井,発,18:43#由岐,発,18:50#木岐,発,18:54#北河内,発,18:59#日和佐,発,19:02#山河内,発,19:09#辺川,発,19:16#牟岐,着,19:20#",
|
||||
"4571D":"牟岐,発,19:33#鯖瀬,発,19:40#浅川,発,19:46#阿波海南,着,19:50#",
|
||||
"569D":"徳島,発,18:00#阿波富田,発,18:03#二軒屋,発,18:06#文化の森,発,18:08#地蔵橋,発,18:12#中田,発,18:16#南小松島,発,18:20#阿波赤石,発,18:24#立江,発,18:27#羽ノ浦,発,18:37#西原,発,18:40#阿波中島,発,18:43#阿南,着,18:46#",
|
||||
"573D":"徳島,発,18:30#阿波富田,発,18:33#二軒屋,発,18:36#文化の森,発,18:38#地蔵橋,発,18:42#中田,発,18:46#南小松島,発,18:50#阿波赤石,発,18:54#立江,発,18:57#羽ノ浦,発,19:07#西原,発,19:10#阿波中島,発,19:13#阿南,着,19:16#",
|
||||
"575D":"徳島,発,19:00#阿波富田,発,19:03#二軒屋,発,19:06#文化の森,発,19:08#地蔵橋,発,19:12#中田,発,19:16#南小松島,発,19:20#阿波赤石,発,19:24#立江,発,19:27#羽ノ浦,発,19:37#西原,発,19:40#阿波中島,発,19:43#阿南,発,19:54#見能林,発,19:57#阿波橘,発,20:00#桑野,発,20:05#新野,発,20:09#阿波福井,発,20:13#由岐,発,20:22#木岐,発,20:26#北河内,発,20:31#日和佐,発,20:34#山河内,発,20:42#辺川,発,20:52#牟岐,着,20:57#",
|
||||
"577D":"徳島,発,19:30#阿波富田,発,19:33#二軒屋,発,19:36#文化の森,発,19:38#地蔵橋,発,19:42#中田,発,19:46#南小松島,発,19:50#阿波赤石,発,19:54#立江,発,19:57#羽ノ浦,発,20:07#西原,発,20:10#阿波中島,発,20:13#阿南,着,20:16#",
|
||||
"579D":"徳島,発,20:00#阿波富田,発,20:03#二軒屋,発,20:06#文化の森,発,20:08#地蔵橋,発,20:12#中田,発,20:16#南小松島,発,20:20#阿波赤石,発,20:24#立江,発,20:27#羽ノ浦,発,20:30#西原,発,20:34#阿波中島,発,20:37#阿南,着,20:40#",
|
||||
"581D":"徳島,発,20:30#阿波富田,発,20:33#二軒屋,発,20:36#文化の森,発,20:39#地蔵橋,発,20:42#中田,発,20:47#南小松島,発,20:51#阿波赤石,発,20:55#立江,発,20:58#羽ノ浦,発,21:07#西原,発,21:10#阿波中島,発,21:14#阿南,着,21:18#",
|
||||
"583D":"徳島,発,21:30#阿波富田,発,21:33#二軒屋,発,21:36#文化の森,発,21:38#地蔵橋,発,21:42#中田,発,21:46#南小松島,発,21:50#阿波赤石,発,21:54#立江,発,21:57#羽ノ浦,発,22:14#西原,発,22:17#阿波中島,発,22:20#阿南,発,22:26#見能林,発,22:29#阿波橘,発,22:32#桑野,発,22:37#新野,発,22:41#阿波福井,発,22:45#由岐,発,22:54#木岐,発,22:58#北河内,発,23:03#日和佐,発,23:06#山河内,発,23:14#辺川,発,23:23#牟岐,着,23:29#",
|
||||
"585D":"徳島,発,22:55#阿波富田,発,22:58#二軒屋,発,23:01#文化の森,発,23:03#地蔵橋,発,23:07#中田,発,23:11#南小松島,発,23:15#阿波赤石,発,23:19#立江,発,23:22#羽ノ浦,発,23:26#西原,発,23:29#阿波中島,発,23:32#阿南,着,23:36#",
|
||||
|
||||
// 臨時列車
|
||||
"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#",
|
||||
|
||||
}
|
@ -189,7 +189,8 @@ export const EachTrainInfoCore = ({
|
||||
const count = position * 44 - 50;
|
||||
// 0.5秒待機してからスクロール
|
||||
setTimeout(
|
||||
() => 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 (
|
||||
<View
|
||||
style={{
|
||||
@ -419,6 +413,7 @@ export const EachTrainInfoCore = ({
|
||||
tailStation={tailStation}
|
||||
navigate={navigate}
|
||||
from={from}
|
||||
scrollHandlers={scrollHandlers}
|
||||
/>
|
||||
|
||||
<DynamicHeaderScrollView
|
||||
@ -431,8 +426,28 @@ export const EachTrainInfoCore = ({
|
||||
maxHeight: isLandscape ? height - 94 : (height / 100) * 70,
|
||||
},
|
||||
}}
|
||||
shortHeader={<ShortHeader {...headerItem} />}
|
||||
longHeader={<LongHeader {...headerItem} />}
|
||||
shortHeader={
|
||||
<ShortHeader
|
||||
{...{
|
||||
currentTrainData,
|
||||
currentPosition,
|
||||
nearTrainIDList,
|
||||
openTrainInfo,
|
||||
navigate,
|
||||
}}
|
||||
/>
|
||||
}
|
||||
longHeader={
|
||||
<LongHeader
|
||||
{...{
|
||||
currentTrainData,
|
||||
currentPosition,
|
||||
nearTrainIDList,
|
||||
openTrainInfo,
|
||||
navigate,
|
||||
}}
|
||||
/>
|
||||
}
|
||||
topStickyContent={
|
||||
<ScrollStickyContent
|
||||
{...{ currentTrainData, showThrew, setShowThrew, haveThrough }}
|
||||
|
@ -7,6 +7,8 @@ import { migrateTrainName } from "../../../lib/eachTrainInfoCoreLib/migrateTrain
|
||||
import { TrainIconStatus } from "./trainIconStatus";
|
||||
import { TrainViewIcon } from "./trainViewIcon";
|
||||
import { OneManText } from "./HeaderTextParts/OneManText";
|
||||
import { customTrainDataDetector } from "@/components/custom-train-data";
|
||||
import { InfogramText } from "@/components/ActionSheetComponents/EachTrainInfoCore/HeaderTextParts/InfogramText";
|
||||
|
||||
type Props = {
|
||||
data: { trainNum: string; limited: string };
|
||||
@ -18,10 +20,11 @@ type Props = {
|
||||
navigate: any;
|
||||
from: string;
|
||||
fontLoaded: boolean;
|
||||
scrollHandlers: any;
|
||||
};
|
||||
|
||||
const textConfig: TextStyle = {
|
||||
fontSize: 18,
|
||||
fontSize: 17,
|
||||
fontWeight: "bold",
|
||||
color: "white",
|
||||
};
|
||||
@ -35,105 +38,87 @@ export const HeaderText: FC<Props> = ({
|
||||
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 (
|
||||
<View style={{ padding: 10, flexDirection: "row", alignItems: "center" }}>
|
||||
<View style={{ padding: 10, flexDirection: "row", alignItems: "center" }} onTouchStart={()=>scrollHandlers.ref.current?.scrollTo({ y: 0, animated: true })}>
|
||||
<TrainIconStatus {...{ data, navigate, from }} />
|
||||
<View
|
||||
style={{ borderRadius: 5, flexDirection: "row", alignItems: "center" }}
|
||||
@ -143,7 +128,7 @@ export const HeaderText: FC<Props> = ({
|
||||
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<Props> = ({
|
||||
</Text>
|
||||
{isOneMan && <OneManText />}
|
||||
<Text style={textConfig}>{trainName}</Text>
|
||||
<InfogramText infogram={infogram} />
|
||||
</View>
|
||||
|
||||
<View style={{ flex: 1 }} />
|
||||
|
@ -0,0 +1,18 @@
|
||||
import React, { FC } from "react";
|
||||
import { Text } from "react-native";
|
||||
type props = {
|
||||
infogram: string;
|
||||
}
|
||||
export const InfogramText: FC<props> = ({infogram}) => {
|
||||
return (
|
||||
<Text
|
||||
style={{
|
||||
fontSize: 20,
|
||||
color: "white",
|
||||
fontFamily: "JNR-font",
|
||||
}}
|
||||
>
|
||||
{infogram}
|
||||
</Text>
|
||||
);
|
||||
};
|
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -25,9 +25,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "しおかぜ",
|
||||
trainIcon: "https://storage.haruk.in/s8000nr.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html",
|
||||
trainNumDistance: 0,
|
||||
info: "いしづちと併結 / 8000系で運転",
|
||||
infogram: "G"
|
||||
};
|
||||
case "2M":
|
||||
return {
|
||||
@ -35,9 +36,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "しおかぜ",
|
||||
trainIcon: "https://storage.haruk.in/s8000nr.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html",
|
||||
"https://www.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":
|
||||
@ -66,9 +69,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "しおかぜ",
|
||||
trainIcon: "https://storage.haruk.in/s8600.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/shiokaze.html",
|
||||
trainNumDistance: 0,
|
||||
info: "いしづちと併結 / 8600系で運転",
|
||||
infogram: "G"
|
||||
};
|
||||
|
||||
//いしづちメイン
|
||||
@ -96,9 +100,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "いしづち",
|
||||
trainIcon: "https://storage.haruk.in/s8000no.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html",
|
||||
"https://www.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
|
||||
@ -129,9 +135,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "いしづち",
|
||||
trainIcon: "https://storage.haruk.in/s8600_isz.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html",
|
||||
trainNumDistance: 1000,
|
||||
info: "しおかぜと併結 / 8600系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
|
||||
//MEXP
|
||||
@ -142,9 +149,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "モーニングEXP高松",
|
||||
trainIcon: "https://storage.haruk.in/s8000nr.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html",
|
||||
trainNumDistance: null,
|
||||
info: "8000系で運転",
|
||||
infogram: "G"
|
||||
};
|
||||
//8600
|
||||
case "1091M":
|
||||
@ -153,9 +161,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "モーニングEXP松山",
|
||||
trainIcon: "https://storage.haruk.in/s8600_isz.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/morning.html",
|
||||
trainNumDistance: null,
|
||||
info: "8600系で運転",
|
||||
infogram: "G"
|
||||
};
|
||||
//三桁いしづち
|
||||
//8000 アンパン
|
||||
@ -168,19 +177,31 @@ 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:
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html",
|
||||
trainNumDistance: 940,
|
||||
info: "8600系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
case "1046M":
|
||||
return {
|
||||
type: "LTDEXP",
|
||||
trainName: "いしづち",
|
||||
trainIcon: "https://storage.haruk.in/s8600_isz.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/ishizuchi.html",
|
||||
trainNumDistance: 940,
|
||||
info: "8600系で運転",
|
||||
infogram: "G"
|
||||
};
|
||||
|
||||
//南風 2700ノーマル
|
||||
@ -206,9 +227,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
type: "LTDEXP",
|
||||
trainName: "南風",
|
||||
trainIcon: "https://storage.haruk.in/s2700.png",
|
||||
infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/nanpu.html",
|
||||
infoUrl: "https://www.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"
|
||||
};
|
||||
|
||||
//うずしお
|
||||
@ -245,36 +268,40 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
case "3003D":
|
||||
case "3007D":
|
||||
case "3013D":
|
||||
case "3019D":
|
||||
case "3025D":
|
||||
case "3029D":
|
||||
case "3031D":
|
||||
return {
|
||||
type: "LTDEXP",
|
||||
trainName: "うずしお",
|
||||
trainIcon: "https://storage.haruk.in/s2700_uzu.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html",
|
||||
trainNumDistance: 3000,
|
||||
info: "2700系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
|
||||
//2700 二両編成
|
||||
|
||||
case "3008D":
|
||||
case "3020D":
|
||||
case "3026D":
|
||||
case "3001D":
|
||||
case "3005D":
|
||||
case "3011D":
|
||||
case "3017D":
|
||||
case "3019D":
|
||||
case "3023D":
|
||||
case "3029D":
|
||||
return {
|
||||
type: "LTDEXP",
|
||||
trainName: "うずしお",
|
||||
trainIcon: "https://storage.haruk.in/s2700_uzu.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html",
|
||||
trainNumDistance: 3000,
|
||||
info: "2700系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
|
||||
//2600
|
||||
@ -293,23 +320,12 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "うずしお",
|
||||
trainIcon: "https://storage.haruk.in/s2600.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html",
|
||||
trainNumDistance: 3000,
|
||||
info: "2600系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
|
||||
//キハ185
|
||||
case "3001D":
|
||||
case "3008D":
|
||||
return {
|
||||
type: "LTDEXP",
|
||||
trainName: "うずしお",
|
||||
trainIcon: "https://storage.haruk.in/s185tu_uzu.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uzushio.html",
|
||||
trainNumDistance: 3000,
|
||||
info: "キハ185系で運転",
|
||||
};
|
||||
|
||||
//マリンライナー
|
||||
case "3104M":
|
||||
@ -384,9 +400,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
type: "Rapid",
|
||||
trainName: "マリンライナー",
|
||||
trainIcon: "https://storage.haruk.in/s5001.png",
|
||||
infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html",
|
||||
infoUrl: "https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html",
|
||||
trainNumDistance: 3100,
|
||||
info: "",
|
||||
infogram: "G"
|
||||
};
|
||||
case "3102M":
|
||||
case "3101M":
|
||||
@ -397,9 +414,106 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
type: "Rapid",
|
||||
trainName: "マリンライナー",
|
||||
trainIcon: "https://storage.haruk.in/s5001k.png",
|
||||
infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/marine.html",
|
||||
infoUrl: "https://www.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: ""
|
||||
};
|
||||
|
||||
//サンライズ瀬戸
|
||||
@ -413,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": //琴平延長高松以降
|
||||
@ -424,6 +539,7 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
"https://www.jr-odekake.net/train/sunriseseto_izumo/index.html",
|
||||
trainNumDistance: null,
|
||||
info: "琴平延長運転日",
|
||||
infogram: "ブ"
|
||||
};
|
||||
|
||||
//宇和海
|
||||
@ -458,9 +574,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
type: "LTDEXP",
|
||||
trainName: "宇和海",
|
||||
trainIcon: "https://storage.haruk.in/s2000_uwa.png",
|
||||
infoUrl: "http://jr-shikoku.co.jp/01_trainbus/vehicle-info/uwakai.html",
|
||||
infoUrl: "https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/uwakai.html",
|
||||
trainNumDistance: 1050,
|
||||
info: "2000系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
//2000 アンパン込み
|
||||
case "1058D":
|
||||
@ -476,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":
|
||||
@ -487,9 +605,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "しまんと",
|
||||
trainIcon: "https://storage.haruk.in/s2700_smn.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/shimanto.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/shimanto.html",
|
||||
trainNumDistance: 2000,
|
||||
info: "2700系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
|
||||
//あしずり 2000
|
||||
@ -506,26 +625,38 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "あしずり",
|
||||
trainIcon: "https://storage.haruk.in/s2000_asi.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html",
|
||||
"https://www.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:
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html",
|
||||
trainNumDistance: 2070,
|
||||
info: "2700系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
case "2072D":
|
||||
case "2083D":
|
||||
return {
|
||||
type: "LTDEXP",
|
||||
trainName: "あしずり",
|
||||
trainIcon: "https://storage.haruk.in/s2700_asi.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/ashizuri.html",
|
||||
trainNumDistance: 2070,
|
||||
info: "2700系で運転",
|
||||
infogram: "G"
|
||||
};
|
||||
|
||||
//剣山
|
||||
@ -541,9 +672,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "剣山",
|
||||
trainIcon: "https://storage.haruk.in/s185tu.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/vehicle-info/tsurugisan.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/vehicle-info/tsurugisan.html",
|
||||
trainNumDistance: 4000,
|
||||
info: "キハ185系で運転",
|
||||
infogram: ""
|
||||
};
|
||||
|
||||
//よしのがわトロッコ
|
||||
@ -554,9 +686,10 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
trainName: "よしのがわトロッコ",
|
||||
trainIcon: "https://storage.haruk.in/s185to_ai.png",
|
||||
infoUrl:
|
||||
"http://jr-shikoku.co.jp/01_trainbus/event_train/yoshino_torokko.html",
|
||||
"https://www.jr-shikoku.co.jp/01_trainbus/event_train/yoshino_torokko.html",
|
||||
trainNumDistance: null,
|
||||
info: "",
|
||||
infogram: ""
|
||||
};
|
||||
|
||||
//岡山高松アントロ
|
||||
@ -573,6 +706,7 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
"https://www.jr-eki.com/aptrain/naani/torokko_seto/jikoku.html",
|
||||
trainNumDistance: null,
|
||||
info: "",
|
||||
infogram: "G"
|
||||
};
|
||||
|
||||
//伊予灘ものがたり
|
||||
@ -585,6 +719,7 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
infoUrl: "https://iyonadamonogatari.com/",
|
||||
trainNumDistance: null,
|
||||
info: "",
|
||||
infogram: "G"
|
||||
};
|
||||
case "8092D":
|
||||
case "8094D":
|
||||
@ -595,6 +730,7 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
infoUrl: "https://iyonadamonogatari.com/",
|
||||
trainNumDistance: null,
|
||||
info: "",
|
||||
infogram: "G"
|
||||
};
|
||||
|
||||
//千年ものがたり
|
||||
@ -607,6 +743,7 @@ export const customTrainDataDetector = (TrainNumber: string) => {
|
||||
infoUrl: "https://www.jr-shikoku.co.jp/sennenmonogatari/",
|
||||
trainNumDistance: null,
|
||||
info: "",
|
||||
infogram: "G"
|
||||
};
|
||||
|
||||
//夜明けものがたり
|
||||
@ -621,10 +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_Rapid",
|
||||
trainName: "マリンライナー94号",
|
||||
trainIcon: "https://storage.haruk.in/s5001.png",
|
||||
infoUrl: "https://www.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_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)
|
||||
@ -636,48 +804,65 @@ 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(/^58\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;
|
||||
}
|
||||
|
@ -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" };
|
||||
|
@ -208,21 +208,23 @@ export const injectJavascriptData: InjectJavascriptData = (
|
||||
case "3003D":
|
||||
case "3007D":
|
||||
case "3013D":
|
||||
case "3019D":
|
||||
case "3025D":
|
||||
case "3029D":
|
||||
case "3031D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700_uzu.png');
|
||||
break;
|
||||
|
||||
//2700 二両編成
|
||||
|
||||
case "3008D":
|
||||
case "3020D":
|
||||
case "3026D":
|
||||
case "3001D":
|
||||
case "3005D":
|
||||
case "3011D":
|
||||
case "3017D":
|
||||
case "3019D":
|
||||
case "3023D":
|
||||
case "3029D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700_uzu.png');
|
||||
break;
|
||||
|
||||
@ -240,12 +242,6 @@ export const injectJavascriptData: InjectJavascriptData = (
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2600.png');
|
||||
break;
|
||||
|
||||
//キハ185
|
||||
case "3001D":
|
||||
case "3008D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s185tu_uzu.png');
|
||||
break;
|
||||
|
||||
//マリンライナー
|
||||
case "3104M":
|
||||
case "3106M":
|
||||
@ -398,6 +394,7 @@ export const injectJavascriptData: InjectJavascriptData = (
|
||||
case "2084D":
|
||||
case "2075D":
|
||||
case "2077D":
|
||||
case "2083D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s2700_asi.png');
|
||||
break;
|
||||
//剣山
|
||||
@ -469,53 +466,53 @@ export const injectJavascriptData: InjectJavascriptData = (
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/ef210a.png');
|
||||
break;
|
||||
|
||||
// 普通列車系統、6000系運用
|
||||
//61運用
|
||||
case "1213M":
|
||||
case "1214M":
|
||||
case "143M":
|
||||
case "147M":
|
||||
//62運用
|
||||
case "114M":
|
||||
//961運用
|
||||
case "143M":
|
||||
case "147M":
|
||||
//962運用
|
||||
case "114M":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s6000p.png');
|
||||
break;
|
||||
// // 普通列車系統、6000系運用
|
||||
// //61運用
|
||||
// case "1213M":
|
||||
// case "1214M":
|
||||
// case "143M":
|
||||
// case "147M":
|
||||
// //62運用
|
||||
// case "114M":
|
||||
// //961運用
|
||||
// case "143M":
|
||||
// case "147M":
|
||||
// //962運用
|
||||
// case "114M":
|
||||
// setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s6000p.png');
|
||||
// break;
|
||||
|
||||
|
||||
// 土讃線普通列車系統(include ごな線)
|
||||
// ごな線
|
||||
case "5851D": //219D併結 [ToDo: 219Dとの分割対策]
|
||||
case "5854D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/tosa9640jgr.png');
|
||||
break;
|
||||
// // 土讃線普通列車系統(include ごな線)
|
||||
// // ごな線
|
||||
// case "5851D": //219D併結 [ToDo: 219Dとの分割対策]
|
||||
// case "5854D":
|
||||
// setStationIcon(e.querySelector("img"),'https://storage.haruk.in/tosa9640jgr.png');
|
||||
// break;
|
||||
|
||||
//JR車両乗り入れ運用
|
||||
case "5858D":
|
||||
case "5869D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
|
||||
break;
|
||||
//併結運用の併結される側 [ToDo: 分割対策]
|
||||
case "5845D":
|
||||
case "5851D":
|
||||
case "5818D":
|
||||
case "5820D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/tosa9640.png');
|
||||
break;
|
||||
// 土讃線単体列車のキハ32運用
|
||||
case "715D":
|
||||
case "718D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32ns.png');
|
||||
break;
|
||||
// //JR車両乗り入れ運用
|
||||
// case "5858D":
|
||||
// case "5869D":
|
||||
// setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
|
||||
// break;
|
||||
// //併結運用の併結される側 [ToDo: 分割対策]
|
||||
// case "5845D":
|
||||
// case "5851D":
|
||||
// case "5818D":
|
||||
// case "5820D":
|
||||
// setStationIcon(e.querySelector("img"),'https://storage.haruk.in/tosa9640.png');
|
||||
// break;
|
||||
// // 土讃線単体列車のキハ32運用
|
||||
// case "715D":
|
||||
// case "718D":
|
||||
// setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s32ns.png');
|
||||
// break;
|
||||
|
||||
// サンライズに伴う気動車代走
|
||||
case "6219D":
|
||||
case "6222D":
|
||||
setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
|
||||
break;
|
||||
// // サンライズに伴う気動車代走
|
||||
// case "6219D":
|
||||
// case "6222D":
|
||||
// setStationIcon(e.querySelector("img"),'https://storage.haruk.in/s1000.png');
|
||||
// break;
|
||||
// // それ以外の土讃線ごな線直通列車
|
||||
// case "5811D":
|
||||
// case "5813D":
|
||||
@ -906,97 +903,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');
|
||||
@ -1010,30 +999,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');
|
||||
@ -1136,72 +1126,132 @@ export const injectJavascriptData: InjectJavascriptData = (
|
||||
|
||||
switch(num){
|
||||
//牟岐線直通列車情報
|
||||
case "351D":
|
||||
//徳島線発牟岐線行き
|
||||
case "468D":
|
||||
case "478D":
|
||||
case "484D":
|
||||
viaData = "牟岐線直通";
|
||||
ToData = "牟岐";
|
||||
case "951D":
|
||||
viaData = "牟岐線直通";
|
||||
ToData = "桑野";
|
||||
break;
|
||||
case "4430D":
|
||||
case "4472D":
|
||||
viaData = "牟岐線直通";
|
||||
isWanman = true;
|
||||
ToData = "牟岐";
|
||||
break;
|
||||
case "434D":
|
||||
case "474D":
|
||||
case "478D":
|
||||
case "476D":
|
||||
case "480D":
|
||||
viaData = "牟岐線直通";
|
||||
ToData = "阿南";
|
||||
case "5444D":
|
||||
break;
|
||||
case "4452D":
|
||||
case "4458D":
|
||||
case "4460D":
|
||||
case "4466D":
|
||||
case "4470D":
|
||||
viaData = "牟岐線直通";
|
||||
isWanman = true;
|
||||
ToData = "阿南";
|
||||
case "4464D":
|
||||
break;
|
||||
case "4456D":
|
||||
viaData = "牟岐線直通";
|
||||
isWanman = true;
|
||||
ToData = "阿波海南"
|
||||
break;
|
||||
//鳴門線発牟岐線行き
|
||||
case "951D":
|
||||
viaData = "牟岐線直通";
|
||||
ToData = "桑野";
|
||||
break;
|
||||
|
||||
//牟岐線発高徳線行き
|
||||
case "358D":
|
||||
viaData = "牟岐線直通";
|
||||
break;
|
||||
case "4314D":
|
||||
case "4326D":
|
||||
case "4334D":
|
||||
case "4342D":
|
||||
case "4350D":
|
||||
case "4368D":
|
||||
viaData = "牟岐線直通";
|
||||
isWanman = true;
|
||||
break;
|
||||
|
||||
//牟岐線発徳島線行き
|
||||
case "451D":
|
||||
case "475D":
|
||||
viaData = "牟岐線直通";
|
||||
break;
|
||||
case "4447D":
|
||||
case "4455D":
|
||||
case "5467D":
|
||||
case "5471D":
|
||||
case "5479D":
|
||||
viaData = "牟岐線直通";
|
||||
isWanman = true;
|
||||
break;
|
||||
//牟岐線発鳴門線行き
|
||||
|
||||
case "952D":
|
||||
viaData = "牟岐線直通";
|
||||
break;
|
||||
case "4954D":
|
||||
case "4978D":
|
||||
viaData = "牟岐線直通";
|
||||
isWanman = true;
|
||||
break;
|
||||
|
||||
//安芸行と併結列車を個別に表示、それ以外をdefaultで下りなら既定の行き先を、上りなら奈半利行を設定
|
||||
case "5814D":
|
||||
case "5816D":
|
||||
viaData = "ごめん・なはり線[快速]";
|
||||
ToData = "奈半利";
|
||||
break;
|
||||
case "5812D":
|
||||
viaData = "ごめん・なはり線[快速]";
|
||||
ToData = "安芸";
|
||||
break;
|
||||
case "5874D":
|
||||
case "5882D":
|
||||
case "5878D":
|
||||
viaData = "ごめん・なはり線[各停]";
|
||||
ToData = "安芸";
|
||||
case "246D":
|
||||
case "750D":
|
||||
break;
|
||||
case "248D":
|
||||
case "250D":
|
||||
viaData = "ごめん・なはり線[快速]";
|
||||
ToData = "(後免にて解結)土佐山田/奈半利";
|
||||
break;
|
||||
case "9395D":
|
||||
viaData = "[臨時]普通";
|
||||
ToData = "三本松";
|
||||
break;
|
||||
case "9174M":
|
||||
viaData = "[臨時]マリンライナー94号";
|
||||
ToData = "岡山";
|
||||
break;
|
||||
default:
|
||||
if(new RegExp(/^58[1-3][1,3,5,7,9][DM]$/).test(列番データ)){
|
||||
viaData = "ごめん・なはり線[快速]";
|
||||
break;
|
||||
}
|
||||
else if(new RegExp(/^58[4-9][1,3,5,7,9][DM]$/).test(列番データ)){
|
||||
viaData = "ごめん・なはり線[各停]";
|
||||
break;
|
||||
}
|
||||
else if(new RegExp(/^58[3-4][0,2,4,6,8][DM]$/).test(列番データ)){
|
||||
viaData = "ごめん・なはり線[快速]";
|
||||
ToData = "奈半利";
|
||||
break;
|
||||
}
|
||||
else if(new RegExp(/^58[5-9][0,2,4,6,8][DM]$/).test(列番データ)){
|
||||
viaData = "ごめん・なはり線[各停]";
|
||||
ToData = "奈半利";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
getThrew(列番データ);
|
||||
//列番付与
|
||||
const returnText1 = (isWanman ? "ワンマン " : "") + trainName + viaData;
|
||||
const returnText2 = (ToData ? ToData+"行 " : ToData)+ TrainNumber;
|
||||
|
@ -15,7 +15,11 @@ export const AllTrainDiagramProvider = ({ children }) => {
|
||||
() => allTrainDiagram && setKeyList(Object.keys(allTrainDiagram)),
|
||||
[allTrainDiagram]
|
||||
);
|
||||
const customData = {};
|
||||
const customData = {
|
||||
"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(() => {
|
||||
fetch(
|
||||
"https://n8n.haruk.in/webhook/CrowdTh%E2%82%AC71m3Ra7!ngLead%E2%82%ACr$"
|
||||
|
@ -72,206 +72,212 @@ export const BusAndTrainDataProvider = ({ children }) => {
|
||||
if (trainPairList[trainNum]) {
|
||||
returnArray.push(Object.keys(trainPairList[trainNum])[0]);
|
||||
}
|
||||
// switch (trainNum) {
|
||||
// case "143M":
|
||||
// returnArray.push("147M");
|
||||
// break;
|
||||
// case "147M":
|
||||
// returnArray.push("143M");
|
||||
// break;
|
||||
// // 徳島界隈接続一覧
|
||||
// //下り
|
||||
// case "4430D":
|
||||
// returnArray.push("525D");
|
||||
// break;
|
||||
// case "951D":
|
||||
// returnArray.push("527D");
|
||||
// break;
|
||||
// case "434D":
|
||||
// returnArray.push("529D");
|
||||
// break;
|
||||
// case "5444D":
|
||||
// returnArray.push("4537D");
|
||||
// break;
|
||||
// case "4452D":
|
||||
// returnArray.push("4545D");
|
||||
// break;
|
||||
// case "4458D":
|
||||
// returnArray.push("4551D");
|
||||
// break;
|
||||
// case "4460D":
|
||||
// returnArray.push("553D");
|
||||
// break;
|
||||
// case "4464D":
|
||||
// returnArray.push("559D");
|
||||
// break;
|
||||
// case "4466D":
|
||||
// returnArray.push("561D");
|
||||
// break;
|
||||
// case "468D":
|
||||
// returnArray.push("563D");
|
||||
// break;
|
||||
// case "4472D":
|
||||
// returnArray.push("567D");
|
||||
// break;
|
||||
// case "474D":
|
||||
// returnArray.push("569D");
|
||||
// break;
|
||||
// case "351D":
|
||||
// returnArray.push("573D");
|
||||
// break;
|
||||
// case "478D":
|
||||
// returnArray.push("575D");
|
||||
// break;
|
||||
// case "480D":
|
||||
// returnArray.push("577D");
|
||||
// break;
|
||||
// case "484D":
|
||||
// returnArray.push("581D");
|
||||
// break;
|
||||
// // reverse.
|
||||
// case "525D":
|
||||
// returnArray.push("4430D");
|
||||
// break;
|
||||
// case "527D":
|
||||
// returnArray.push("951D");
|
||||
// break;
|
||||
// case "529D":
|
||||
// returnArray.push("434D");
|
||||
// break;
|
||||
// case "4537D":
|
||||
// returnArray.push("5444D");
|
||||
// break;
|
||||
// case "4545D":
|
||||
// returnArray.push("4452D");
|
||||
// break;
|
||||
// case "4551D":
|
||||
// returnArray.push("4458D");
|
||||
// break;
|
||||
// case "553D":
|
||||
// returnArray.push("4460D");
|
||||
// break;
|
||||
// case "559D":
|
||||
// returnArray.push("4464D");
|
||||
// break;
|
||||
// case "561D":
|
||||
// returnArray.push("4466D");
|
||||
// break;
|
||||
// case "563D":
|
||||
// returnArray.push("468D");
|
||||
// break;
|
||||
// case "567D":
|
||||
// returnArray.push("4472D");
|
||||
// break;
|
||||
// case "569D":
|
||||
// returnArray.push("474D");
|
||||
// break;
|
||||
// case "573D":
|
||||
// returnArray.push("351D");
|
||||
// break;
|
||||
// case "575D":
|
||||
// returnArray.push("478D");
|
||||
// break;
|
||||
// case "577D":
|
||||
// returnArray.push("480D");
|
||||
// break;
|
||||
// case "581D":
|
||||
// returnArray.push("484D");
|
||||
// break;
|
||||
// //上りむろと
|
||||
// case "530D":
|
||||
// returnArray.push("8052D");
|
||||
// break;
|
||||
// case "8052D":
|
||||
// returnArray.push("530D");
|
||||
// break;
|
||||
// //上り
|
||||
// case "522D":
|
||||
// returnArray.push("952D");
|
||||
// break;
|
||||
// case "526D":
|
||||
// returnArray.push("4954D");
|
||||
// break;
|
||||
// case "536D":
|
||||
// returnArray.push("4330D");
|
||||
// break;
|
||||
// case "538D":
|
||||
// returnArray.push("4447D");
|
||||
// break;
|
||||
// case "540D":
|
||||
// returnArray.push("4336D");
|
||||
// break;
|
||||
// case "542D":
|
||||
// returnArray.push("451D");
|
||||
// break;
|
||||
// case "4546D":
|
||||
// returnArray.push("4455D");
|
||||
// break;
|
||||
// case "4552D":
|
||||
// returnArray.push("4346D");
|
||||
// break;
|
||||
// case "4556D":
|
||||
// returnArray.push("4352D");
|
||||
// break;
|
||||
// case "4558D":
|
||||
// returnArray.push("5467D");
|
||||
// break;
|
||||
// case "562D":
|
||||
// returnArray.push("360D");
|
||||
// break;
|
||||
// case "564D":
|
||||
// returnArray.push("362D");
|
||||
// break;
|
||||
// case "566D":
|
||||
// returnArray.push("475D");
|
||||
// break;
|
||||
// case "570D":
|
||||
// returnArray.push("5479D");
|
||||
// break;
|
||||
// // reverse.
|
||||
// case "952D":
|
||||
// returnArray.push("522D");
|
||||
// break;
|
||||
// case "4954D":
|
||||
// returnArray.push("526D");
|
||||
// break;
|
||||
// case "4330D":
|
||||
// returnArray.push("536D");
|
||||
// break;
|
||||
// case "4447D":
|
||||
// returnArray.push("538D");
|
||||
// break;
|
||||
// case "4336D":
|
||||
// returnArray.push("540D");
|
||||
// break;
|
||||
// case "451D":
|
||||
// returnArray.push("542D");
|
||||
// break;
|
||||
// case "4455D":
|
||||
// returnArray.push("4546D");
|
||||
// break;
|
||||
// case "4346D":
|
||||
// returnArray.push("4552D");
|
||||
// break;
|
||||
// case "4352D":
|
||||
// returnArray.push("4556D");
|
||||
// break;
|
||||
// case "5467D":
|
||||
// returnArray.push("4558D");
|
||||
// break;
|
||||
// case "360D":
|
||||
// returnArray.push("562D");
|
||||
// break;
|
||||
// case "362D":
|
||||
// returnArray.push("564D");
|
||||
// break;
|
||||
// case "475D":
|
||||
// returnArray.push("566D");
|
||||
// break;
|
||||
// case "5479D":
|
||||
// returnArray.push("570D");
|
||||
// break;
|
||||
// }
|
||||
switch (trainNum) {
|
||||
case "143M":
|
||||
returnArray.push("139M");
|
||||
break;
|
||||
case "139M":
|
||||
returnArray.push("143M");
|
||||
break;
|
||||
// 土讃線琴平界隈
|
||||
case "1263M":
|
||||
returnArray.push("4263M");
|
||||
break;
|
||||
case "4263M":
|
||||
returnArray.push("1263M");
|
||||
break;
|
||||
// 徳島界隈接続一覧
|
||||
//下り
|
||||
case "4430D":
|
||||
returnArray.push("525D");
|
||||
break;
|
||||
case "951D":
|
||||
returnArray.push("527D");
|
||||
break;
|
||||
case "434D":
|
||||
returnArray.push("529D");
|
||||
break;
|
||||
case "4452D":
|
||||
returnArray.push("4545D");
|
||||
break;
|
||||
case "4456D":
|
||||
returnArray.push("4549D");
|
||||
break;
|
||||
case "4466D":
|
||||
returnArray.push("561D");
|
||||
break;
|
||||
case "468D":
|
||||
returnArray.push("563D");
|
||||
break;
|
||||
case "4470D":
|
||||
returnArray.push("565D");
|
||||
break;
|
||||
case "4472D":
|
||||
returnArray.push("567D");
|
||||
break;
|
||||
case "474D":
|
||||
returnArray.push("569D");
|
||||
break;
|
||||
case "476D":
|
||||
returnArray.push("573D");
|
||||
break;
|
||||
case "478D":
|
||||
returnArray.push("575D");
|
||||
break;
|
||||
case "480D":
|
||||
returnArray.push("579D");
|
||||
break;
|
||||
case "484D":
|
||||
returnArray.push("583D");
|
||||
break;
|
||||
// reverse.
|
||||
case "525D":
|
||||
returnArray.push("4430D");
|
||||
break;
|
||||
case "527D":
|
||||
returnArray.push("951D");
|
||||
break;
|
||||
case "529D":
|
||||
returnArray.push("434D");
|
||||
break;
|
||||
case "4545D":
|
||||
returnArray.push("4452D");
|
||||
break;
|
||||
case "4549D":
|
||||
returnArray.push("4456D");
|
||||
break;
|
||||
case "561D":
|
||||
returnArray.push("4466D");
|
||||
break;
|
||||
case "563D":
|
||||
returnArray.push("468D");
|
||||
break;
|
||||
case "565D":
|
||||
returnArray.push("4470D");
|
||||
break;
|
||||
case "567D":
|
||||
returnArray.push("4472D");
|
||||
break;
|
||||
case "569D":
|
||||
returnArray.push("474D");
|
||||
break;
|
||||
case "573D":
|
||||
returnArray.push("476D");
|
||||
break;
|
||||
case "575D":
|
||||
returnArray.push("478D");
|
||||
break;
|
||||
case "579D":
|
||||
returnArray.push("480D");
|
||||
break;
|
||||
case "583D":
|
||||
returnArray.push("484D");
|
||||
break;
|
||||
//上り
|
||||
case "4520D":
|
||||
returnArray.push("4314D");
|
||||
break;
|
||||
case "522D":
|
||||
returnArray.push("952D");
|
||||
break;
|
||||
case "526D":
|
||||
returnArray.push("4954D");
|
||||
break;
|
||||
case "534D":
|
||||
returnArray.push("4326D");
|
||||
break;
|
||||
case "536D":
|
||||
returnArray.push("4447D");
|
||||
break;
|
||||
case "538D":
|
||||
returnArray.push("4334D");
|
||||
break;
|
||||
case "540D":
|
||||
returnArray.push("451D");
|
||||
break;
|
||||
case "4544D":
|
||||
returnArray.push("4455D");
|
||||
break;
|
||||
case "4550D":
|
||||
returnArray.push("4342D");
|
||||
break;
|
||||
case "4554D":
|
||||
returnArray.push("4350D");
|
||||
break;
|
||||
case "4556D":
|
||||
returnArray.push("5467D");
|
||||
break;
|
||||
case "560D":
|
||||
returnArray.push("5471D");
|
||||
break;
|
||||
case "562D":
|
||||
returnArray.push("358D");
|
||||
break;
|
||||
case "564D":
|
||||
returnArray.push("475D");
|
||||
break;
|
||||
case "568D":
|
||||
returnArray.push("5479D");
|
||||
break;
|
||||
case "4572D":
|
||||
returnArray.push("4978D");
|
||||
break;
|
||||
case "576D":
|
||||
returnArray.push("4368D");
|
||||
break;
|
||||
// reverse.
|
||||
case "4314D":
|
||||
returnArray.push("4520D");
|
||||
break;
|
||||
case "952D":
|
||||
returnArray.push("522D");
|
||||
break;
|
||||
case "4954D":
|
||||
returnArray.push("526D");
|
||||
break;
|
||||
case "4326D":
|
||||
returnArray.push("534D");
|
||||
break;
|
||||
case "4447D":
|
||||
returnArray.push("536D");
|
||||
break;
|
||||
case "4334D":
|
||||
returnArray.push("538D");
|
||||
break;
|
||||
case "451D":
|
||||
returnArray.push("540D");
|
||||
break;
|
||||
case "4455D":
|
||||
returnArray.push("4544D");
|
||||
break;
|
||||
case "4342D":
|
||||
returnArray.push("4550D");
|
||||
break;
|
||||
case "4350D":
|
||||
returnArray.push("4554D");
|
||||
break;
|
||||
case "5467D":
|
||||
returnArray.push("4556D");
|
||||
break;
|
||||
case "5471D":
|
||||
returnArray.push("560D");
|
||||
break;
|
||||
case "358D":
|
||||
returnArray.push("562D");
|
||||
break;
|
||||
case "475D":
|
||||
returnArray.push("564D");
|
||||
break;
|
||||
case "5479D":
|
||||
returnArray.push("568D");
|
||||
break;
|
||||
case "4978D":
|
||||
returnArray.push("4572D");
|
||||
break;
|
||||
case "4368D":
|
||||
returnArray.push("576D");
|
||||
break;
|
||||
}
|
||||
if(new RegExp(/^4[1-9]\d\d[DM]$/).test(trainNum)){
|
||||
if (trainList["5" + trainNum.substring(1)])
|
||||
returnArray.push("5" + trainNum.substring(1));
|
||||
|
Loading…
Reference in New Issue
Block a user