LEDの枠に位置情報ジャンプボタンを追加

This commit is contained in:
harukin-expo-dev-env
2025-07-05 10:49:30 +00:00
parent 19db27a378
commit 67d2bf6c98
4 changed files with 77 additions and 59 deletions

View File

@@ -8,11 +8,13 @@ import { useNavigation } from "@react-navigation/native";
import { useTrainMenu } from "../stateBox/useTrainMenu";
import { FavoriteListItem } from "./atom/FavoriteListItem";
import { BigButton } from "./atom/BigButton";
import { useStationList } from "@/stateBox/useStationList";
export const FavoriteList: FC = () => {
const { favoriteStation } = useFavoriteStation();
const { webview } = useCurrentTrain();
const { navigate, addListener, goBack, canGoBack } = useNavigation();
const { mapsStationData: stationData } = useTrainMenu();
const { getInjectJavascriptAddress } = useStationList();
useEffect(() => {
const unsubscribe = addListener("tabPress", goToTrainMenu);
@@ -38,27 +40,16 @@ export const FavoriteList: FC = () => {
</Text>
<ScrollView style={{ height: "100%", backgroundColor: "white" }}>
{favoriteStation
.filter((d) => d[0].StationMap)
.map((currentStation) => {
return (
<FavoriteListItem
currentStation={currentStation}
onPress={() => {
const getStationLine = (now) => {
const returnData = Object.keys(stationData).filter((d) => {
const cache = stationData[d].findIndex(
(data) => data.Station_JP == now.Station_JP
);
return cache != -1;
});
return returnData[0];
};
const lineName = getStationLine(currentStation[0]);
webview.current?.injectJavaScript(
`MoveDisplayStation('${lineName}_${currentStation[0].MyStation}_${currentStation[0].Station_JP}');
document.getElementById("disp").insertAdjacentHTML("afterbegin", "<div />");`
const scriptString = getInjectJavascriptAddress(
currentStation[0].StationNumber
);
if (!scriptString) return;
webview.current?.injectJavaScript(scriptString);
goBack();
if (canGoBack()) goBack();
}}