From 36ac66df3edf8aa8d6af739ecc3ae900dc86c955 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Sat, 5 Jul 2025 16:20:53 +0000 Subject: [PATCH 01/11] =?UTF-8?q?=E3=83=A1=E3=83=8B=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=81=AB=E3=81=8A=E6=B0=97=E3=81=AB=E5=85=A5=E3=82=8A=E3=81=8C?= =?UTF-8?q?=E7=84=A1=E3=81=84=E5=A0=B4=E5=90=88=E3=81=AE=E8=A6=81=E7=B4=A0?= =?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 --- components/Menu/Carousel/CarouselBox.tsx | 51 ++++++++++++++++++++---- menu.js | 3 +- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/components/Menu/Carousel/CarouselBox.tsx b/components/Menu/Carousel/CarouselBox.tsx index 950acec..f126278 100644 --- a/components/Menu/Carousel/CarouselBox.tsx +++ b/components/Menu/Carousel/CarouselBox.tsx @@ -1,7 +1,13 @@ import Sign from "@/components/駅名表/Sign"; import React, { useEffect, useRef, useState } from "react"; import { AS } from "@/storageControl"; -import { useWindowDimensions, View, LayoutAnimation } from "react-native"; +import { + useWindowDimensions, + View, + LayoutAnimation, + TouchableOpacity, + Text, +} from "react-native"; import Carousel, { ICarouselInstance } from "react-native-reanimated-carousel"; import { SheetManager } from "react-native-actions-sheet"; import { StationNumber } from "../StationPagination"; @@ -13,6 +19,7 @@ export const CarouselBox = ({ setListIndex, listIndex, navigate, + stationListMode }) => { const carouselRef = useRef(null); const { height, width } = useWindowDimensions(); @@ -66,12 +73,36 @@ export const CarouselBox = ({ key={item[0].StationNumber} > - + {item[0].StationNumber != "null" ? ( + + ) : ( + + + + {stationListMode == "position" ? "現在地の近くに駅がありません。" : "お気に入りリストがありません。お気に入りの駅を追加しよう!"} + + + + )} ); @@ -80,7 +111,11 @@ export const CarouselBox = ({ 0 + ? listUpStation + : [[{ StationNumber: "null" }]] + } height={(((width / 100) * 80) / 20) * 9 + 10} pagingEnabled={true} snapEnabled={true} diff --git a/menu.js b/menu.js index ac2491e..73df951 100644 --- a/menu.js +++ b/menu.js @@ -312,7 +312,7 @@ export default function Menu(props) { /> )} - {listUpStation.length != 0 && originalStationList.length != 0 && ( + {originalStationList.length != 0 && ( <> {listUpStation[listIndex] && ( From fdea8be0b4ef9ba60ddae60e3664178f817c5c04 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Sun, 6 Jul 2025 08:01:57 +0000 Subject: [PATCH 02/11] =?UTF-8?q?=E5=BE=B3=E5=B3=B6=E7=B7=9A=E3=81=AE?= =?UTF-8?q?=E5=BE=B3=E5=B3=B6=E9=A7=85=E3=80=81=E9=98=BF=E6=B3=A2=E6=B1=A0?= =?UTF-8?q?=E7=94=B0=E9=A7=85=E3=81=AE=E5=9C=B0=E7=82=B9=E6=83=85=E5=A0=B1?= =?UTF-8?q?=E3=81=8C=E7=84=A1=E3=81=8B=E3=81=A3=E3=81=9F=E5=95=8F=E9=A1=8C?= =?UTF-8?q?=E3=82=92=E3=83=87=E3=83=BC=E3=82=BF=E3=82=BD=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E5=81=B4=E3=81=AE=E6=94=B9=E5=A4=89=E3=81=A7=E5=AF=BE=E5=87=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/四国旅客鉄道徳島線.json | 46 +++++++++++++++++++++++++ components/Apps/WebView.jsx | 2 +- components/trainMenu.js | 8 ++--- lib/getStationList.ts | 6 +--- 4 files changed, 52 insertions(+), 10 deletions(-) diff --git a/assets/四国旅客鉄道徳島線.json b/assets/四国旅客鉄道徳島線.json index fa19f06..92e5e7a 100644 --- a/assets/四国旅客鉄道徳島線.json +++ b/assets/四国旅客鉄道徳島線.json @@ -1,6 +1,29 @@ { "type": "FeatureCollection", "features": [ + { + "properties": { + "name": "阿波池田", + "uri": "https://uedayou.net/jrslod/四国旅客鉄道/土讃線/阿波池田", + "color": "E25885" + }, + "type": "Feature", + "geometry": { + "type": "LineString", + "coordinates": [ + [133.80429, 34.02714], + [133.80515, 34.02656] + ] + } + }, + { + "properties": { + "name": "阿波池田", + "uri": "https://uedayou.net/jrslod/四国旅客鉄道/土讃線/阿波池田" + }, + "type": "Feature", + "geometry": { "type": "Point", "coordinates": [133.80429, 34.02714] } + }, { "properties": { "name": "佃", @@ -561,6 +584,29 @@ "type": "Feature", "geometry": { "type": "Point", "coordinates": [134.53819, 34.08082] } }, + { + "properties": { + "name": "徳島", + "uri": "https://uedayou.net/jrslod/四国旅客鉄道/高徳線/徳島", + "color": "9ACD32" + }, + "type": "Feature", + "geometry": { + "type": "LineString", + "coordinates": [ + [134.55251, 34.07404], + [134.55049, 34.07498] + ] + } + }, + { + "properties": { + "name": "徳島", + "uri": "https://uedayou.net/jrslod/四国旅客鉄道/高徳線/徳島" + }, + "type": "Feature", + "geometry": { "type": "Point", "coordinates": [134.55251, 34.07404] } + }, { "properties": { "name": "徳島線", diff --git a/components/Apps/WebView.jsx b/components/Apps/WebView.jsx index 13d0e13..9cd2c11 100644 --- a/components/Apps/WebView.jsx +++ b/components/Apps/WebView.jsx @@ -139,7 +139,7 @@ export const AppsWebView = ({ openStationACFromEachTrainInfo }) => { if (favoriteStation.length < 1) return () => {}; const string = getInjectJavascriptAddress(favoriteStation[0][0].StationNumber); if (!string) return () => {}; - webview.current?.injectJavaScript(string); + webview?.current.injectJavaScript(string); once = true; }; diff --git a/components/trainMenu.js b/components/trainMenu.js index 746084f..80687a3 100644 --- a/components/trainMenu.js +++ b/components/trainMenu.js @@ -24,7 +24,7 @@ export default function TrainMenu({ style }) { const { originalStationList } = useStationList(); useEffect(() => { const stationPinData = []; - Object.keys(originalStationList).forEach((d, indexBase) => { + Object.keys(lineList_LineWebID).forEach((d, indexBase) => { originalStationList[d].forEach((D, index) => { if (selectedLine && selectedLine != lineList_LineWebID[d]) return; const latlng = [D.lat,D.lng]; @@ -35,14 +35,14 @@ export default function TrainMenu({ style }) { setStationPin(stationPinData); }, [originalStationList, selectedLine]); useLayoutEffect(() => { - mapRef.current.fitToCoordinates( + mapRef?.current.fitToCoordinates( stationPin.map(({ latlng }) => ({ latitude: parseFloat(latlng[0]), longitude: parseFloat(latlng[1]), })), { edgePadding: { top: 80, bottom: 120, left: 50, right: 50 } } // Add margin values here ); - }, [stationPin]); + }, [stationPin,mapRef]); return ( ))} diff --git a/lib/getStationList.ts b/lib/getStationList.ts index 02608df..45d3e17 100644 --- a/lib/getStationList.ts +++ b/lib/getStationList.ts @@ -211,15 +211,11 @@ export const getStationList = async () => { 鳴門線, stationList["日英対応表"] ); - const tokushimaCurrent = addStationPosition( + stationList["徳島線(徳島-阿波池田間)[B]"] = addStationPosition( concatBetweenStations(stationList["徳島線(徳島-阿波池田間)[B]"]), 徳島線, stationList["日英対応表"] ); - stationList["徳島線(徳島-阿波池田間)[B]"] = [ - tokushimaCurrent[tokushimaCurrent.length - 1], - ...tokushimaCurrent, - ]; stationList["徳島線(徳島-阿波池田間)[B]"].pop(); stationList["瀬戸大橋線(児島-宇多津間)[M]"] = [ { From caa4694c94308a0b1d33bb13ce822dc8ced9ea52 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Sun, 6 Jul 2025 11:14:24 +0000 Subject: [PATCH 03/11] =?UTF-8?q?=E6=A4=9C=E7=B4=A2=E3=83=9C=E3=82=BF?= =?UTF-8?q?=E3=83=B3=E6=9A=AB=E5=AE=9A=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Menu/Carousel/CarouselTypeChanger.tsx | 49 +++++++++--- components/Menu/RailScope/SearchUnitBox.tsx | 76 +++++++++++++++++++ menu.js | 31 +++++++- 3 files changed, 143 insertions(+), 13 deletions(-) create mode 100644 components/Menu/RailScope/SearchUnitBox.tsx diff --git a/components/Menu/Carousel/CarouselTypeChanger.tsx b/components/Menu/Carousel/CarouselTypeChanger.tsx index 11f13af..84767a7 100644 --- a/components/Menu/Carousel/CarouselTypeChanger.tsx +++ b/components/Menu/Carousel/CarouselTypeChanger.tsx @@ -1,13 +1,23 @@ import { AS } from "@/storageControl"; import { useBottomTabBarHeight } from "@react-navigation/bottom-tabs"; import React, { useEffect, useRef } from "react"; -import { View, TouchableOpacity, Text, LayoutAnimation } from "react-native"; +import { useWindowDimensions } from "react-native"; +import { + View, + TouchableOpacity, + Text, + LayoutAnimation, + KeyboardAvoidingView, + Platform, +} from "react-native"; import Ionicons from "react-native-vector-icons/Ionicons"; +import { SearchUnitBox } from "@/components/Menu/RailScope/SearchUnitBox"; export const CarouselTypeChanger = ({ locationStatus, position, mapsRef, + scrollRef, stationListMode, setStationListMode, setSelectedCurrentStation, @@ -15,7 +25,9 @@ export const CarouselTypeChanger = ({ setMapMode, }) => { const tabBarHeight = useBottomTabBarHeight(); - const returnToDefaultMode = ()=>{ + const [isSearchMode, setisSearchMode] = React.useState(false); + const { height, width } = useWindowDimensions(); + const returnToDefaultMode = () => { LayoutAnimation.configureNext({ duration: 300, create: { @@ -28,13 +40,32 @@ export const CarouselTypeChanger = ({ }, }); setMapMode(false); - } + }; return ( - + + { + onPressIn={() => { if (!position) return; returnToDefaultMode(); setStationListMode("position"); @@ -99,7 +129,8 @@ export const CarouselTypeChanger = ({ - + ); }; diff --git a/components/Menu/RailScope/SearchUnitBox.tsx b/components/Menu/RailScope/SearchUnitBox.tsx new file mode 100644 index 0000000..81512c0 --- /dev/null +++ b/components/Menu/RailScope/SearchUnitBox.tsx @@ -0,0 +1,76 @@ +import React from "react"; +import { + TouchableOpacity, + Text, + View, + LayoutAnimation, + TextInput, + KeyboardAvoidingView, + Platform, +} from "react-native"; +import Ionicons from "react-native-vector-icons/Ionicons"; +import { useWindowDimensions } from "react-native"; +export const SearchUnitBox = ({ isSearchMode, setisSearchMode }) => { + const { height, width } = useWindowDimensions(); + return ( + <> + { + LayoutAnimation.configureNext({ + duration: 200, + update: { type: "easeInEaseOut", springDamping: 0.6 }, + }); + setisSearchMode(true); + }} + > + {!isSearchMode && } + {isSearchMode && ( + + { + LayoutAnimation.configureNext({ + duration: 200, + update: { type: "easeInEaseOut", springDamping: 0.6 }, + }); + setisSearchMode(false); + }} + > + あああああああああああああああああああああああああああああああああああああああああああああああああああああああああ + + + setKeyBoardVisible(true)} + onEndEditing={() => {}} + //onChange={(ret) => setInput(ret.nativeEvent.text)} + //value={input} + style={{ flex: 1 }} + /> + + + )} + + + ); +}; diff --git a/menu.js b/menu.js index 73df951..60c57bc 100644 --- a/menu.js +++ b/menu.js @@ -5,6 +5,8 @@ import { ScrollView, useWindowDimensions, LayoutAnimation, + Text, + TouchableOpacity, } from "react-native"; import Constants from "expo-constants"; import { @@ -30,6 +32,8 @@ import { CarouselBox } from "./components/Menu/Carousel/CarouselBox"; import { CarouselTypeChanger } from "./components/Menu/Carousel/CarouselTypeChanger"; import { useUserPosition } from "./stateBox/useUserPosition"; import { AS } from "./storageControl"; +import { Ionicons } from "@expo/vector-icons"; +import { SearchUnitBox } from "./components/Menu/RailScope/SearchUnitBox"; configureReanimatedLogger({ level: ReanimatedLogLevel.error, // Set the log level to error strict: true, // Reanimated runs in strict mode by default @@ -209,13 +213,32 @@ export default function Menu(props) { }} > - + {!mapMode ? ( + + ) : ( + + JRShikoku RailScope + + )} { console.log(e.nativeEvent.velocity); @@ -302,7 +325,7 @@ export default function Menu(props) { {...{ locationStatus, position, - mapsRef, + mapsRef,scrollRef, stationListMode, setStationListMode, setSelectedCurrentStation: setListIndex, @@ -310,7 +333,7 @@ export default function Menu(props) { setMapMode, }} /> - )} + )} {originalStationList.length != 0 && ( <> @@ -322,7 +345,7 @@ export default function Menu(props) { setListIndex, listIndex, navigate, - stationListMode + stationListMode, }} /> {listUpStation[listIndex] && ( From 6b39a3f7233f087024f5e62a64b8b17323e54cd3 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Mon, 7 Jul 2025 10:28:30 +0000 Subject: [PATCH 04/11] =?UTF-8?q?key=E3=81=AE=E5=85=A5=E5=8A=9B=E4=B8=8D?= =?UTF-8?q?=E8=B6=B3=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/trainMenu.js | 1 + 1 file changed, 1 insertion(+) diff --git a/components/trainMenu.js b/components/trainMenu.js index 80687a3..cd416f1 100644 --- a/components/trainMenu.js +++ b/components/trainMenu.js @@ -161,6 +161,7 @@ export default function TrainMenu({ style }) { }); }); }} + key={stationIDPair[d]} > Date: Mon, 7 Jul 2025 11:48:46 +0000 Subject: [PATCH 05/11] =?UTF-8?q?=E3=83=A1=E3=83=8B=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=81=AE=E8=B7=AF=E7=B7=9A=E5=88=A5=E3=83=AA=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=82=A2=E3=83=83=E3=83=97=E6=A9=9F=E8=83=BD=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/Menu/Carousel/CarouselBox.tsx | 35 +++++- .../Menu/Carousel/CarouselTypeChanger.tsx | 3 +- components/Menu/RailScope/SearchUnitBox.tsx | 106 ++++++++++++------ menu.js | 29 ++++- 4 files changed, 128 insertions(+), 45 deletions(-) diff --git a/components/Menu/Carousel/CarouselBox.tsx b/components/Menu/Carousel/CarouselBox.tsx index f126278..51fbe47 100644 --- a/components/Menu/Carousel/CarouselBox.tsx +++ b/components/Menu/Carousel/CarouselBox.tsx @@ -7,6 +7,7 @@ import { LayoutAnimation, TouchableOpacity, Text, + ScrollView, } from "react-native"; import Carousel, { ICarouselInstance } from "react-native-reanimated-carousel"; import { SheetManager } from "react-native-actions-sheet"; @@ -19,11 +20,22 @@ export const CarouselBox = ({ setListIndex, listIndex, navigate, - stationListMode + stationListMode, }) => { const carouselRef = useRef(null); const { height, width } = useWindowDimensions(); const [dotButton, setDotButton] = useState(false); + const carouselBadgeScrollViewRef = useRef(null); + + useEffect(() => { + if (!carouselBadgeScrollViewRef.current) return; + const scrollToIndex = listIndex * (width / listUpStation.length) + 10; + console.log("scrollToIndex", scrollToIndex); + carouselBadgeScrollViewRef.current.scrollTo({ + x: scrollToIndex, + animated: true, + }); + }, [listIndex, dotButton, width, carouselBadgeScrollViewRef]); const oPSign = () => { const payload = { currentStation: listUpStation[listIndex], @@ -98,7 +110,9 @@ export const CarouselBox = ({ }} > - {stationListMode == "position" ? "現在地の近くに駅がありません。" : "お気に入りリストがありません。お気に入りの駅を追加しよう!"} + {stationListMode == "position" + ? "現在地の近くに駅がありません。" + : "お気に入りリストがありません。お気に入りの駅を追加しよう!"} @@ -131,12 +145,23 @@ export const CarouselBox = ({ onSnapToItem={setListIndex} renderItem={RenderItem} /> - { + // ScrollViewのrefを保存 + if (scrollViewRef) { + carouselBadgeScrollViewRef.current = scrollViewRef; + } }} > {originalStationList && @@ -158,7 +183,7 @@ export const CarouselBox = ({ /> ); })} - + ); }; diff --git a/components/Menu/Carousel/CarouselTypeChanger.tsx b/components/Menu/Carousel/CarouselTypeChanger.tsx index 84767a7..57266ae 100644 --- a/components/Menu/Carousel/CarouselTypeChanger.tsx +++ b/components/Menu/Carousel/CarouselTypeChanger.tsx @@ -23,9 +23,10 @@ export const CarouselTypeChanger = ({ setSelectedCurrentStation, mapMode, setMapMode, + isSearchMode, + setisSearchMode, }) => { const tabBarHeight = useBottomTabBarHeight(); - const [isSearchMode, setisSearchMode] = React.useState(false); const { height, width } = useWindowDimensions(); const returnToDefaultMode = () => { LayoutAnimation.configureNext({ diff --git a/components/Menu/RailScope/SearchUnitBox.tsx b/components/Menu/RailScope/SearchUnitBox.tsx index 81512c0..9d0c1f2 100644 --- a/components/Menu/RailScope/SearchUnitBox.tsx +++ b/components/Menu/RailScope/SearchUnitBox.tsx @@ -10,53 +10,90 @@ import { } from "react-native"; import Ionicons from "react-native-vector-icons/Ionicons"; import { useWindowDimensions } from "react-native"; +import lineColorList from "@/assets/originData/lineColorList"; +import { lineList_LineWebID, stationIDPair } from "@/lib/getStationList"; export const SearchUnitBox = ({ isSearchMode, setisSearchMode }) => { const { height, width } = useWindowDimensions(); return ( <> - { - LayoutAnimation.configureNext({ - duration: 200, - update: { type: "easeInEaseOut", springDamping: 0.6 }, - }); - setisSearchMode(true); - }} - > - {!isSearchMode && } - {isSearchMode && ( + { + LayoutAnimation.configureNext({ + duration: 100, + update: { type: "easeInEaseOut", springDamping: 0.6 }, + }); + setisSearchMode(true); + }} + > + {!isSearchMode && } + {!!isSearchMode && ( - { + + + { LayoutAnimation.configureNext({ - duration: 200, + duration: 100, update: { type: "easeInEaseOut", springDamping: 0.6 }, }); setisSearchMode(false); - }} - > - あああああああああああああああああああああああああああああああああああああああああああああああああああああああああ - - + + + {Object.keys(lineList_LineWebID).map((d) => ( + { + const id = stationIDPair[lineList_LineWebID[d]]; + const s = isSearchMode == id ? undefined : id; + if (!s) return; + setisSearchMode(s); + }} + key={stationIDPair[lineList_LineWebID[d]]} + > + + {stationIDPair[lineList_LineWebID[d]]} + + + ))} + {/* { //value={input} style={{ flex: 1 }} /> + */} - )} - + )} + ); }; diff --git a/menu.js b/menu.js index 60c57bc..14e3a88 100644 --- a/menu.js +++ b/menu.js @@ -19,7 +19,7 @@ import LED_vision from "./components/発車時刻表/LED_vidion"; import { TitleBar } from "./components/Menu/TitleBar"; import { FixedContentBottom } from "./components/Menu/FixedContentBottom"; -import { lineList } from "./lib/getStationList"; +import { lineList, stationIDPair } from "./lib/getStationList"; import { useFavoriteStation } from "./stateBox/useFavoriteStation"; import { useNavigation } from "@react-navigation/native"; import { useStationList } from "./stateBox/useStationList"; @@ -32,6 +32,7 @@ import { CarouselBox } from "./components/Menu/Carousel/CarouselBox"; import { CarouselTypeChanger } from "./components/Menu/Carousel/CarouselTypeChanger"; import { useUserPosition } from "./stateBox/useUserPosition"; import { AS } from "./storageControl"; +import { lineList_LineWebID } from "./lib/getStationList"; import { Ionicons } from "@expo/vector-icons"; import { SearchUnitBox } from "./components/Menu/RailScope/SearchUnitBox"; configureReanimatedLogger({ @@ -171,13 +172,26 @@ export default function Menu(props) { const [listIndex, setListIndex] = useState(0); const [listUpStation, setListUpStation] = useState([]); + const [isSearchMode, setisSearchMode] = useState(false); useEffect(() => { - if (stationListMode == "position") { + if (!!isSearchMode) { + const returnData = []; + Object.keys(lineList_LineWebID).forEach((d, indexBase) => { + originalStationList[d].forEach((D, index) => { + if (isSearchMode && isSearchMode != stationIDPair[lineList_LineWebID[d]]) return; + const latlng = [D.lat, D.lng]; + if (latlng.length == 0) return null; + returnData.push([D]); + }); + }); + setListUpStation(returnData); + } + else if (stationListMode == "position") { setListUpStation(nearPositionStation.filter((d) => d != undefined)); } else { setListUpStation(favoriteStation.filter((d) => d != undefined)); } - }, [nearPositionStation, favoriteStation, stationListMode]); + }, [nearPositionStation, favoriteStation, stationListMode, isSearchMode]); useEffect(() => { if (listUpStation.length == 0) { setListIndex(0); @@ -325,15 +339,18 @@ export default function Menu(props) { {...{ locationStatus, position, - mapsRef,scrollRef, + mapsRef, + scrollRef, stationListMode, setStationListMode, setSelectedCurrentStation: setListIndex, mapMode, setMapMode, + isSearchMode, + setisSearchMode, }} /> - )} + )} {originalStationList.length != 0 && ( <> @@ -373,6 +390,8 @@ export default function Menu(props) { setSelectedCurrentStation: setListIndex, mapMode, setMapMode, + isSearchMode, + setisSearchMode, }} /> )} From 249f09bbc7f1ddd3516ff5f8b52ea7c950b4ee53 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Mon, 7 Jul 2025 11:58:10 +0000 Subject: [PATCH 06/11] =?UTF-8?q?=E7=80=AC=E6=88=B8=E5=A4=A7=E6=A9=8B?= =?UTF-8?q?=E7=B7=9A=E3=81=A7=E8=A1=A8=E7=A4=BA=E3=81=A7=E3=81=8D=E3=81=AA?= =?UTF-8?q?=E3=81=84=E3=83=90=E3=82=B0=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- menu.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/menu.js b/menu.js index 14e3a88..e5c34af 100644 --- a/menu.js +++ b/menu.js @@ -181,6 +181,9 @@ export default function Menu(props) { if (isSearchMode && isSearchMode != stationIDPair[lineList_LineWebID[d]]) return; const latlng = [D.lat, D.lng]; if (latlng.length == 0) return null; + if(D.StationNumber == undefined) { + return null; + } returnData.push([D]); }); }); From 3da4986a7ce92d5743a4a8f215c5f576f0dc1d3d Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Mon, 7 Jul 2025 13:34:13 +0000 Subject: [PATCH 07/11] =?UTF-8?q?=E5=9C=B0=E5=9B=B3=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=81=AE=E6=8C=99=E5=8B=95=E5=A4=89=E6=9B=B4=E3=80=81=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E6=83=85=E5=A0=B1=E3=81=B8=E3=81=AE=E7=A7=BB=E5=8B=95?= =?UTF-8?q?=E3=83=9C=E3=82=BF=E3=83=B3=E3=82=92=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EachTrainInfo/LandscapeTrainInfo.js | 2 +- .../EachTrainInfoCore/trainIconStatus.tsx | 2 - .../StationDeteilView.js | 35 ++++++++---- .../StationInsideMapButton.tsx | 1 + .../StationTrainPositionButton.tsx | 54 +++++++++++++++++++ components/Menu/Carousel/CarouselBox.tsx | 3 +- .../FavoliteSettings/FavoiliteSettingsItem.js | 1 - menu.js | 27 +++++++--- stateBox/useCurrentTrain.js | 2 +- stateBox/useStationList.tsx | 1 - 10 files changed, 103 insertions(+), 25 deletions(-) create mode 100644 components/ActionSheetComponents/StationDeteilView/StationTrainPositionButton.tsx diff --git a/components/ActionSheetComponents/EachTrainInfo/LandscapeTrainInfo.js b/components/ActionSheetComponents/EachTrainInfo/LandscapeTrainInfo.js index 8538b65..96b8152 100644 --- a/components/ActionSheetComponents/EachTrainInfo/LandscapeTrainInfo.js +++ b/components/ActionSheetComponents/EachTrainInfo/LandscapeTrainInfo.js @@ -33,7 +33,7 @@ export const LandscapeTrainInfo = (props) => { stickyHeaderIndices={[1]} scrollEventThrottle={16} onScroll={(d) => { - console.log(d.nativeEvent.contentOffset.y); + // Handle scroll events }} > diff --git a/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx b/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx index 2612f7f..ed642e9 100644 --- a/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx +++ b/components/ActionSheetComponents/EachTrainInfoCore/trainIconStatus.tsx @@ -51,7 +51,6 @@ export const TrainIconStatus: FC = ({ data, navigate, from }) => { ) .then((d) => d.json()) .then((d) => { - console.log(d); if (d.trainStatus == "〇") { //setAnpanmanStatus({name:"checkmark-circle-outline",color:"blue"}); } else if (d.trainStatus == "▲") { @@ -76,7 +75,6 @@ export const TrainIconStatus: FC = ({ data, navigate, from }) => { ) .then((d) => d.json()) .then((d) => { - console.log(d); if (d.trainStatus == "〇") { //setAnpanmanStatus({name:"checkmark-circle-outline",color:"blue"}); } else if (d.trainStatus == "▲") { diff --git a/components/ActionSheetComponents/StationDeteilView.js b/components/ActionSheetComponents/StationDeteilView.js index b4a4626..3cfffd2 100644 --- a/components/ActionSheetComponents/StationDeteilView.js +++ b/components/ActionSheetComponents/StationDeteilView.js @@ -18,6 +18,7 @@ import { TrainBusButton } from "./StationDeteilView/TrainBusButton"; import { 駅構内図 } from "./StationDeteilView/StationInsideMapButton"; import { WebSiteButton } from "./StationDeteilView/WebSiteButton"; import { StationTimeTableButton } from "./StationDeteilView/StationTimeTableButton"; +import { StationTrainPositionButton } from "./StationDeteilView/StationTrainPositionButton"; export const StationDeteilView = (props) => { if (!props.payload) return <>; @@ -104,16 +105,23 @@ export const StationDeteilView = (props) => { } /> - {currentStation[0].JrHpUrl && - currentStation[0].StationNumber != "M12" && ( - <駅構内図 //児島例外/ - navigate={navigate} - goTo={goTo} - useShow={useShow} - address={currentStation[0].JrHpUrl} - onExit={onExit} - /> - )} + + + {currentStation[0].JrHpUrl && + currentStation[0].StationNumber != "M12" && ( + <駅構内図 //児島例外/ + navigate={navigate} + goTo={goTo} + useShow={useShow} + address={currentStation[0].JrHpUrl} + onExit={onExit} + /> + )} + {!currentStation[0].JrHpUrl || ( { useShow={useShow} /> )} - + {!trainBus || ( = (props) => { alignContent: "center", alignItems: "center", margin: 2, + flex: 1, }} onPress={() => { navigate("howto", { info, goTo, useShow }); diff --git a/components/ActionSheetComponents/StationDeteilView/StationTrainPositionButton.tsx b/components/ActionSheetComponents/StationDeteilView/StationTrainPositionButton.tsx new file mode 100644 index 0000000..dcc0a84 --- /dev/null +++ b/components/ActionSheetComponents/StationDeteilView/StationTrainPositionButton.tsx @@ -0,0 +1,54 @@ +import { FC } from "react"; +import { TouchableOpacity, View, Text, Linking } from "react-native"; +import { useStationList } from "@/stateBox/useStationList"; +import { useCurrentTrain } from "@/stateBox/useCurrentTrain"; +import AntDesign from "react-native-vector-icons/AntDesign"; +type Props = { + stationNumber: string; + onExit: () => void; + navigate?: (screen: string, params: { screen: string }) => void; +}; +export const StationTrainPositionButton: FC = (props) => { + const { stationNumber, onExit, navigate } = props; + const { + inject, + } = useCurrentTrain(); + const { getInjectJavascriptAddress } = useStationList(); + return ( + { + navigate("positions", { screen: "Apps" }); + const script = getInjectJavascriptAddress(stationNumber); + inject(script); + onExit(); + }} + > + + + + 走行位置に移動 + + + + ); +}; diff --git a/components/Menu/Carousel/CarouselBox.tsx b/components/Menu/Carousel/CarouselBox.tsx index 51fbe47..d093f8e 100644 --- a/components/Menu/Carousel/CarouselBox.tsx +++ b/components/Menu/Carousel/CarouselBox.tsx @@ -29,8 +29,7 @@ export const CarouselBox = ({ useEffect(() => { if (!carouselBadgeScrollViewRef.current) return; - const scrollToIndex = listIndex * (width / listUpStation.length) + 10; - console.log("scrollToIndex", scrollToIndex); + const scrollToIndex = (dotButton ? 28 : 22) * listIndex - (width / 2) + (dotButton ? 28 : 22) - 5; carouselBadgeScrollViewRef.current.scrollTo({ x: scrollToIndex, animated: true, diff --git a/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js b/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js index 51ba766..cdc84f8 100644 --- a/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js +++ b/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js @@ -8,7 +8,6 @@ import { AS } from "../../../storageControl"; export const FavoriteSettingsItem = ({ currentStation }) => { const lineIDs = []; const EachIDs = []; - console.log(currentStation); currentStation.forEach((d) => { if (!d.StationNumber) return; const textArray = d.StationNumber.split(""); diff --git a/menu.js b/menu.js index e5c34af..ff730fc 100644 --- a/menu.js +++ b/menu.js @@ -178,18 +178,30 @@ export default function Menu(props) { const returnData = []; Object.keys(lineList_LineWebID).forEach((d, indexBase) => { originalStationList[d].forEach((D, index) => { - if (isSearchMode && isSearchMode != stationIDPair[lineList_LineWebID[d]]) return; + if ( + isSearchMode && + isSearchMode != stationIDPair[lineList_LineWebID[d]] + ) + return; const latlng = [D.lat, D.lng]; if (latlng.length == 0) return null; - if(D.StationNumber == undefined) { + if (D.StationNumber == undefined) { return null; } returnData.push([D]); }); }); + if (mapMode) { + mapsRef?.current.fitToCoordinates( + listUpStation.map((d) => ({ + latitude: parseFloat(d[0].lat), + longitude: parseFloat(d[0].lng), + })), + { edgePadding: { top: 80, bottom: 120, left: 50, right: 50 } } // Add margin values here + ); + } setListUpStation(returnData); - } - else if (stationListMode == "position") { + } else if (stationListMode == "position") { setListUpStation(nearPositionStation.filter((d) => d != undefined)); } else { setListUpStation(favoriteStation.filter((d) => d != undefined)); @@ -200,12 +212,16 @@ export default function Menu(props) { setListIndex(0); return; } + if (listUpStation.length == 1) { + setListIndex(0); + return; + } if (listUpStation[listIndex] == undefined) { const count = listIndex - 1; setMapMode(false); setListIndex(count); } - }, [listIndex, nearPositionStation, listUpStation]); + }, [listIndex, nearPositionStation, listUpStation, isSearchMode]); useEffect(() => { if (originalStationList == undefined) return; if (listUpStation.length == 0) return; @@ -258,7 +274,6 @@ export default function Menu(props) { }} onScrollBeginDrag={onScrollBeginDrag} onScrollEndDrag={(e) => { - console.log(e.nativeEvent.velocity); if (e.nativeEvent.contentOffset.y < mapHeight - 80) { if (scrollStartPosition > e.nativeEvent.contentOffset.y) { goToMap(); diff --git a/stateBox/useCurrentTrain.js b/stateBox/useCurrentTrain.js index 2d5d8e2..15f6b44 100644 --- a/stateBox/useCurrentTrain.js +++ b/stateBox/useCurrentTrain.js @@ -15,7 +15,7 @@ const initialState = { currentTrainLoading: "loading", setCurrentTrainLoading: () => {}, getCurrentTrain: () => {}, - inject: () => {}, + inject: (i) => {}, }; const CurrentTrainContext = createContext(initialState); diff --git a/stateBox/useStationList.tsx b/stateBox/useStationList.tsx index 4a0d10a..7073735 100644 --- a/stateBox/useStationList.tsx +++ b/stateBox/useStationList.tsx @@ -92,7 +92,6 @@ export const StationListProvider: FC = ({ children }) => { return; } if (x.StationNumber == StationNumber) { - console.log(originalStationList[d]); if (!x.MyStation) findNearStations = true; else bootStationList.push({ line: lineName, station: x }); } From 72e7894725cb4bf73e7e89c89a0fe3980cd19e7f Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Tue, 8 Jul 2025 06:04:18 +0000 Subject: [PATCH 08/11] =?UTF-8?q?=E6=A7=98=E5=AD=90=E3=81=AE=E3=81=8A?= =?UTF-8?q?=E3=81=8B=E3=81=97=E3=81=84=E5=88=97=E8=BB=8A=E3=81=8C=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E3=81=AB=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F=E3=83=90=E3=82=B0?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/webViewInjectjavascript.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index cc4076b..b9926ec 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -1440,7 +1440,7 @@ const setStrings = () =>{ var 行き先情報 = element.getElementsByTagName("p")[0]; var 列番データ = element.getAttribute('offclick').split('"')[1]; var 列車名データ = element.getAttribute('offclick').split('"')[3]; - const trainData = trainPositionDatas.find(e => e.TrainNum == 列番データ); + const trainData = trainPositionDatas.filter(e=>!(e.Pos && e.Pos.includes("予告窓"))).find(e => e.TrainNum == 列番データ); const hasProblem = probremsData.find((e)=>{ return e.TrainNum == trainData.TrainNum && e.Pos == trainData.Pos; }); From d586bc562fe805e236d5b13e8c20a3d9974b7632 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Tue, 8 Jul 2025 12:23:29 +0000 Subject: [PATCH 09/11] =?UTF-8?q?=E3=82=AB=E3=83=AB=E3=83=BC=E3=82=BB?= =?UTF-8?q?=E3=83=AB=E3=81=AE=E6=8C=99=E5=8B=95=E3=82=92=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E3=80=81=E3=83=90=E3=83=83=E3=82=B8=E3=81=AE=E3=82=B5=E3=82=A4?= =?UTF-8?q?=E3=82=BA=E3=81=A8=E3=82=B9=E3=82=AF=E3=83=AD=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=81=AE=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/Menu/Carousel/CarouselBox.tsx | 13 ++--- menu.js | 66 +++++++++++++----------- 2 files changed, 41 insertions(+), 38 deletions(-) diff --git a/components/Menu/Carousel/CarouselBox.tsx b/components/Menu/Carousel/CarouselBox.tsx index d093f8e..680addf 100644 --- a/components/Menu/Carousel/CarouselBox.tsx +++ b/components/Menu/Carousel/CarouselBox.tsx @@ -29,7 +29,8 @@ export const CarouselBox = ({ useEffect(() => { if (!carouselBadgeScrollViewRef.current) return; - const scrollToIndex = (dotButton ? 28 : 22) * listIndex - (width / 2) + (dotButton ? 28 : 22) - 5; + const dotSize = dotButton ? 28 : 24; + const scrollToIndex = dotSize * listIndex - width / 2 + dotSize - 5; carouselBadgeScrollViewRef.current.scrollTo({ x: scrollToIndex, animated: true, @@ -64,13 +65,6 @@ export const CarouselBox = ({ setDotButton(data === "true"); }); }, []); - useEffect(() => { - if (!carouselRef.current) return; - carouselRef?.current.scrollTo({ - count: listIndex - carouselRef.current.getCurrentIndex(), - animated: true, - }); - }, [listIndex]); const RenderItem = ({ item, index }) => { return ( = listUpStation.length ? 0 : listIndex} /> { + useLayoutEffect(() => { if (!!isSearchMode) { const returnData = []; Object.keys(lineList_LineWebID).forEach((d, indexBase) => { @@ -191,20 +191,16 @@ export default function Menu(props) { returnData.push([D]); }); }); - if (mapMode) { - mapsRef?.current.fitToCoordinates( - listUpStation.map((d) => ({ - latitude: parseFloat(d[0].lat), - longitude: parseFloat(d[0].lng), - })), - { edgePadding: { top: 80, bottom: 120, left: 50, right: 50 } } // Add margin values here - ); - } + if (JSON.stringify(returnData) == JSON.stringify(listUpStation)) return; setListUpStation(returnData); } else if (stationListMode == "position") { - setListUpStation(nearPositionStation.filter((d) => d != undefined)); + const returnData = nearPositionStation.filter((d) => d != undefined); + if (JSON.stringify(returnData) == JSON.stringify(listUpStation)) return; + setListUpStation(returnData); } else { - setListUpStation(favoriteStation.filter((d) => d != undefined)); + const returnData = favoriteStation.filter((d) => d != undefined); + if (JSON.stringify(returnData) == JSON.stringify(listUpStation)) return; + setListUpStation(returnData); } }, [nearPositionStation, favoriteStation, stationListMode, isSearchMode]); useEffect(() => { @@ -221,7 +217,7 @@ export default function Menu(props) { setMapMode(false); setListIndex(count); } - }, [listIndex, nearPositionStation, listUpStation, isSearchMode]); + }, [listIndex, listUpStation, isSearchMode]); useEffect(() => { if (originalStationList == undefined) return; if (listUpStation.length == 0) return; @@ -233,9 +229,18 @@ export default function Menu(props) { latitudeDelta: 0.05, longitudeDelta: 0.05, }; - if (mapMode) return; - mapsRef.current.animateToRegion(mapRegion, 1000); - }, [listIndex, nearPositionStation, listUpStation, mapsRef]); + if (mapMode) { + mapsRef?.current.fitToCoordinates( + listUpStation.map((d) => ({ + latitude: parseFloat(d[0].lat), + longitude: parseFloat(d[0].lng), + })), + { edgePadding: { top: 80, bottom: 120, left: 50, right: 50 } } // Add margin values here + ); + } else { + mapsRef.current.animateToRegion(mapRegion, 1000); + } + }, [listIndex, listUpStation]); return ( ) : ( - - JRShikoku RailScope - + <> + // + // JRShikoku RailScope + // )} Date: Tue, 8 Jul 2025 13:28:00 +0000 Subject: [PATCH 10/11] =?UTF-8?q?=E8=B5=B0=E8=A1=8C=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E3=81=AEUI=E3=81=AB=E7=A8=AE=E5=88=A5=E3=82=84=E5=86=85?= =?UTF-8?q?=E5=AD=90=E7=B5=8C=E7=94=B1=E3=81=AE=E3=83=A9=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=81=E5=AF=9D=E5=8F=B0=E7=89=B9?= =?UTF-8?q?=E6=80=A5=E3=82=92=E3=83=94=E3=83=B3=E3=82=AF=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/getTrainType.ts | 4 +-- lib/webViewInjectjavascript.ts | 53 ++++++++++++++++++++++++++++++++-- 2 files changed, 52 insertions(+), 5 deletions(-) diff --git a/lib/getTrainType.ts b/lib/getTrainType.ts index 5dda2d3..151630c 100644 --- a/lib/getTrainType.ts +++ b/lib/getTrainType.ts @@ -5,7 +5,7 @@ type nameString = | "SPCL" | "Normal" | string; -type colorString = "aqua" | "red" | "#297bff" | "white"; +type colorString = "aqua" | "red" | "#297bff" | "white" | "pink"; type trainTypeString = | "快速" | "特急" @@ -28,7 +28,7 @@ export const getTrainType: getTrainType = (nameString) => { case "LTDEXP": return { color: "red", name: "特急", data: "express" }; case "NightLTDEXP": - return { color: "red", name: "寝台特急", data: "express" }; + return { color: "pink", name: "寝台特急", data: "express" }; case "SPCL": case "SPCL_Rapid": case "SPCL_EXP": diff --git a/lib/webViewInjectjavascript.ts b/lib/webViewInjectjavascript.ts index b9926ec..c0484d7 100644 --- a/lib/webViewInjectjavascript.ts +++ b/lib/webViewInjectjavascript.ts @@ -1055,6 +1055,8 @@ export const injectJavascriptData: InjectJavascriptData = ( const nameReplace = (列車名データ,列番データ,行き先情報,hasProblem) =>{ let isWanman = false; let trainName = ""; + let trainType = ""; + let trainTypeColor = "black"; let viaData = ""; let ToData = ""; let TrainNumber = 列番データ; @@ -1262,7 +1264,43 @@ export const injectJavascriptData: InjectJavascriptData = ( getThrew(列番データ); if(trainDataList.find(e => e.id === 列番データ) !== undefined){ const data = trainDataList.find(e => e.id === 列番データ); - //{id,isWanman,trainName,viaData,ToData} + //{id,isWanman,trainName,viaData,ToData,TrainNumber,JRF,type,infoUrl,trainNumDistance,info,infogram} + trainType = (()=>{ + switch(data.type){ + case "Normal": + trainTypeColor = "black"; + return "普通"; + 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 "LTDEXP": + trainTypeColor = "red"; + return "特急"; + case "NightLTDEXP": + trainTypeColor = "rgb(211, 0, 176)"; + return "寝台特急"; + case "OneManRapid": + trainTypeColor = "rgba(0, 140, 255, 1)"; + return "快速"; + case "Rapid": + trainTypeColor = "rgba(0, 140, 255, 1)"; + return "快速"; + default: + return ""; + } + })(); isWanman = data.isWanman; if(data.trainName != ""){ trainName = data.trainName; @@ -1293,16 +1331,25 @@ export const injectJavascriptData: InjectJavascriptData = ( }); let getColors = []; if(stationLines.length === 0){ - getColors = ["#000"]; + getColors = ["rgba(97, 96, 96, 0.81)"]; }else{ getColors = stationLines.map(e => GetLineBarColor(e)); } + let yosan2Color = undefined; + if(viaData == "(内子経由)"){ + yosan2Color ="#F5AC13"; + } + else if(viaData == "(海経由)"){ + yosan2Color = "#9AA7D7"; + } + const gradient = getColors.length > 1 ? "linear-gradient(130deg, " + getColors[0] + " 0%, "+ getColors[0]+"50%, "+ getColors[1]+"50%, " + getColors[1] + " 100%)" : getColors[0]; 行き先情報.insertAdjacentHTML('beforebegin', "

" + TrainNumber + (JRF ? "":"レ") + "

"); 行き先情報.insertAdjacentHTML('beforebegin', "

" + (isWanman ? "ワンマン " : "") + "

"); - 行き先情報.insertAdjacentHTML('beforebegin', "

" + viaData + "

"); + 行き先情報.insertAdjacentHTML('beforebegin', "

" + viaData + "

"); 行き先情報.insertAdjacentHTML('beforebegin', "

" + trainName + "

"); 行き先情報.insertAdjacentHTML('beforebegin', "

" + (ToData ? ToData + "行" : ToData) + "

"); + 行き先情報.insertAdjacentHTML('beforebegin', "

" + trainType + "

"); 行き先情報.insertAdjacentHTML('beforebegin', "

" + (hasProblem ? "‼️停止中‼️" : "") + "

"); `: ` 行き先情報.insertAdjacentHTML('beforebegin', "

" + returnText1 + "

"); From 59d7d425e5f52f547ac569aa7874fbd5adbefca1 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Tue, 8 Jul 2025 14:33:19 +0000 Subject: [PATCH 11/11] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AB=E3=81=AA?= =?UTF-8?q?=E3=81=A3=E3=81=9F=E3=82=A2=E3=82=A4=E3=82=B3=E3=83=B3=E3=82=92?= =?UTF-8?q?=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LED_Vision_Component/Header.js | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/components/発車時刻表/LED_Vision_Component/Header.js b/components/発車時刻表/LED_Vision_Component/Header.js index dece8e8..5fc696e 100644 --- a/components/発車時刻表/LED_Vision_Component/Header.js +++ b/components/発車時刻表/LED_Vision_Component/Header.js @@ -25,22 +25,6 @@ export const Header = ({ station }) => { }} > - { - navigate("positions", { screen: "Apps" }); - const script = getInjectJavascriptAddress(station.StationNumber); - inject(script); - }} - />