From 1575b643f74208da16833427742239fe0534efa0 Mon Sep 17 00:00:00 2001 From: harukin-expo-dev-env Date: Tue, 26 Nov 2024 15:18:58 +0000 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=9E=8B=E6=8A=95=E7=A8=BF=E6=A9=9F?= =?UTF-8?q?=E8=83=BD=E3=82=92=E4=BB=AE=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/発車時刻表/EachData.tsx | 80 +++++++++++++++++++++++-- 1 file changed, 75 insertions(+), 5 deletions(-) diff --git a/components/発車時刻表/EachData.tsx b/components/発車時刻表/EachData.tsx index 275358e..250404f 100644 --- a/components/発車時刻表/EachData.tsx +++ b/components/発車時刻表/EachData.tsx @@ -1,5 +1,6 @@ import React, { FC, useEffect, useState } from "react"; -import { Linking, TouchableOpacity } from "react-native"; +import { Linking, TouchableOpacity, Text } from "react-native"; +import { Dialog, Button, Input } from "react-native-elements"; import { checkDuplicateTrainData } from "../../lib/checkDuplicateTrainData"; import { getTrainDelayStatus } from "../../lib/getTrainDelayStatus"; import { getTrainType } from "../../lib/getTrainType"; @@ -12,6 +13,9 @@ import { StatusAndDelay } from "./LED_inside_Component/StatusAndDelay"; import { TrainName } from "./LED_inside_Component/TrainName"; import { customTrainDataDetector } from "../custom-train-data"; import { trainDataType, trainPosition } from "../../lib/trainPositionTextArray"; +import { getStationID } from "../../lib/eachTrainInfoCoreLib/getStationData"; +import { useStationList } from "../../stateBox/useStationList"; +import { lineList } from "../../lib/getStationList"; type Props = { d: { @@ -23,6 +27,7 @@ type Props = { trainDescriptionSwitch: boolean; station: { Station_JP: string; + StationNumber: string; }; navigate: (screen: string, data?: any) => void; openStationACFromEachTrainInfo: (station: string) => void; @@ -37,6 +42,15 @@ export const EachData: FC = (props) => { openStationACFromEachTrainInfo, } = props; const { currentTrain } = useCurrentTrain(); + const { originalStationList } = useStationList(); + const stationList = + originalStationList && + lineList.map((d) => + originalStationList[d].map((a) => ({ + StationNumber: a.StationNumber, + StationName: a.Station_JP, + })) + ); const openTrainInfo = (d: { train: string; lastStation: string; @@ -116,8 +130,60 @@ export const EachData: FC = (props) => { }); }, [currentTrainData, currentTrain]); + const [dialog, setDialog] = useState(false); + const [posInput, setPosInput] = useState(""); + const [descInput, setDescInput] = useState(""); + const [stationInput, setStationInput] = useState(""); + const [stationNumberInput, setStationNumberInput] = useState(""); return ( <> + { + setDialog(false); + }} + > + 路線: {currentTrainData?.Line} + 地点ID: {currentTrainData?.PosNum} + 駅名: {stationInput} + 駅ナンバー: {stationNumberInput} + + + = (props) => { ? currentTrainData?.PosNum + currentTrainData?.Line : trainPositionText(currentTrainData) } ${platformNumber ? platformNumber + "番線" : ""} ${ - platformDescription ? "("+platformDescription+")" : "" + platformDescription ? "(" + platformDescription + ")" : "" }`} onLongClick={() => { - Linking.openURL( - "https://nexcloud.haruk.in/apps/forms/s/TEkBQW5WLcYjLyAzGxncQLtw" - ); + const { isBetween, Pos } = trainPosition(currentTrainData); + if (isBetween === true) return; + setStationInput(Pos.Pos); + setStationNumberInput(getStationID(currentTrainData?.Pos, stationList)); + setDescInput(platformDescription || ""); + setPosInput(platformNumber?.toString() || ""); + setDialog(true); }} /> )}