diff --git a/App.js b/App.js index cc51d54..fd534fb 100644 --- a/App.js +++ b/App.js @@ -69,7 +69,7 @@ export default function App() { const [currentTrain, setCurrentTrain] = useState([]); //現在在線中の全列車 { num: 列車番号, delay: 遅延時分(状態), Pos: 位置情報 } const [currentTrainLoading, setCurrentTrainLoading] = useState("loading"); // success, error, loading - + const getCurrentTrain = () => fetch( "https://script.google.com/macros/s/AKfycby9Y2-Bm75J_WkbZimi7iS8v5r9wMa9wtzpdwES9sOGF4i6HIYEJOM60W6gM1gXzt1o/exec", @@ -104,7 +104,6 @@ export default function App() { return ( - {areaInfo != "" && alert(areaInfo)}>{areaInfo}} )} @@ -293,6 +293,7 @@ function MenuPage({ currentTrainState, currentTrainLoadingState, getCurrentTrain, + areaInfo, }) { useEffect(() => { const unsubscribe = navigation.addListener("tabPress", (e) => { @@ -327,6 +328,7 @@ function MenuPage({ currentTrainState={currentTrainState} currentTrainLoadingState={currentTrainLoadingState} getCurrentTrain={getCurrentTrain} + areaInfo={areaInfo} /> )} diff --git a/components/発車時刻表/LED_vidion.js b/components/発車時刻表/LED_vidion.js index 91c586c..cc943bb 100644 --- a/components/発車時刻表/LED_vidion.js +++ b/components/発車時刻表/LED_vidion.js @@ -52,6 +52,7 @@ export default function LED_vision(props) { currentTrainState, currentTrainLoadingState, getCurrentTrain, + areaInfo, } = props; const { currentTrain, setCurrentTrain } = currentTrainState; const { currentTrainLoading, setCurrentTrainLoading } = @@ -149,6 +150,33 @@ export default function LED_vision(props) { return false; }; + const [areaString, setAreaString] = useState(""); + const [areaStringLength, setAreaStringLength] = useState(0); + const [move, setMove] = useState(0); + useInterval( + () => { + if (areaInfo != "") { + if (areaStringLength < move) { + setMove(0); + } else { + setMove(move + 1); + } + } + }, + 350, + true + ); + useEffect(() => { + setAreaString( + areaInfo.substring(move, areaInfo.length) + areaInfo.substring(0, move) + ); + }, [move]); + + useEffect(() => { + if (!areaInfo) return () => {}; + setAreaStringLength(areaInfo.length); + }, [areaInfo]); + return ( ))} + {areaString != "" && ( + + )} +