現在地由来の表示に専用アイコンを付与
This commit is contained in:
parent
6a15decadd
commit
644c08f4c6
@ -1,6 +1,7 @@
|
|||||||
import React, { useRef, useState, useEffect, useLayoutEffect } from "react";
|
import React, { useRef, useState, useEffect, useLayoutEffect } from "react";
|
||||||
import { View, Text, TouchableOpacity } from "react-native";
|
import { View, Text, TouchableOpacity } from "react-native";
|
||||||
import { widthPercentageToDP as wp } from "react-native-responsive-screen";
|
import { widthPercentageToDP as wp } from "react-native-responsive-screen";
|
||||||
|
import { MaterialCommunityIcons } from "@expo/vector-icons";
|
||||||
import LottieView from "lottie-react-native";
|
import LottieView from "lottie-react-native";
|
||||||
import { useInterval } from "../../lib/useInterval";
|
import { useInterval } from "../../lib/useInterval";
|
||||||
import { AS } from "../../storageControl";
|
import { AS } from "../../storageControl";
|
||||||
@ -9,7 +10,13 @@ import { useFavoriteStation } from "../../stateBox/useFavoriteStation";
|
|||||||
import lineColorList from "../../assets/originData/lineColorList";
|
import lineColorList from "../../assets/originData/lineColorList";
|
||||||
|
|
||||||
export default function Sign(props) {
|
export default function Sign(props) {
|
||||||
const { currentStation, originalStationList, oP, oLP } = props;
|
const {
|
||||||
|
currentStation,
|
||||||
|
originalStationList,
|
||||||
|
oP,
|
||||||
|
oLP,
|
||||||
|
isCurrentStation = false,
|
||||||
|
} = props;
|
||||||
const { favoriteStation, setFavoriteStation } = useFavoriteStation();
|
const { favoriteStation, setFavoriteStation } = useFavoriteStation();
|
||||||
const [nexPrePosition, setNexPrePosition] = useState(0);
|
const [nexPrePosition, setNexPrePosition] = useState(0);
|
||||||
|
|
||||||
@ -92,39 +99,50 @@ export default function Sign(props) {
|
|||||||
<TouchableOpacity style={styleSheet.外枠} onPress={oP} onLongPress={oLP}>
|
<TouchableOpacity style={styleSheet.外枠} onPress={oP} onLongPress={oLP}>
|
||||||
<StationNumberMaker currentStation={currentStation} />
|
<StationNumberMaker currentStation={currentStation} />
|
||||||
<StationNameArea currentStation={currentStation} />
|
<StationNameArea currentStation={currentStation} />
|
||||||
<TouchableOpacity
|
{isCurrentStation ? (
|
||||||
style={{ position: "absolute", right: -15, top: -20 }}
|
<TouchableOpacity style={{ position: "absolute", right: 0, top: 0 }}>
|
||||||
onPress={() => {
|
<MaterialCommunityIcons
|
||||||
if (testButtonStatus) {
|
name="crosshairs-gps"
|
||||||
const otherData = favoriteStation.filter((d) => {
|
style={{ padding: 5 }}
|
||||||
const compare = JSON.stringify(d);
|
color="#2E94BB"
|
||||||
const current = JSON.stringify(currentStation);
|
size={30}
|
||||||
if (compare !== current) {
|
/>
|
||||||
return true;
|
</TouchableOpacity>
|
||||||
} else {
|
) : (
|
||||||
return false;
|
<TouchableOpacity
|
||||||
}
|
style={{ position: "absolute", right: -15, top: -20 }}
|
||||||
});
|
onPress={() => {
|
||||||
AS.setItem("favoriteStation", JSON.stringify(otherData));
|
if (testButtonStatus) {
|
||||||
setFavoriteStation(otherData);
|
const otherData = favoriteStation.filter((d) => {
|
||||||
} else {
|
const compare = JSON.stringify(d);
|
||||||
let ret = favoriteStation;
|
const current = JSON.stringify(currentStation);
|
||||||
ret.push(currentStation);
|
if (compare !== current) {
|
||||||
AS.setItem("favoriteStation", JSON.stringify(ret));
|
return true;
|
||||||
setFavoriteStation(ret);
|
} else {
|
||||||
}
|
return false;
|
||||||
setTestButtonStatus(!testButtonStatus);
|
}
|
||||||
}}
|
});
|
||||||
>
|
AS.setItem("favoriteStation", JSON.stringify(otherData));
|
||||||
<LottieDelayView
|
setFavoriteStation(otherData);
|
||||||
progress={testButtonStatus ? 1 : 0}
|
} else {
|
||||||
speed={1.4}
|
let ret = favoriteStation;
|
||||||
style={{ width: 80, height: 80 }}
|
ret.push(currentStation);
|
||||||
source={require("../../assets/939-star.json")}
|
AS.setItem("favoriteStation", JSON.stringify(ret));
|
||||||
lottieRef={lottieRef}
|
setFavoriteStation(ret);
|
||||||
loop={false}
|
}
|
||||||
/>
|
setTestButtonStatus(!testButtonStatus);
|
||||||
</TouchableOpacity>
|
}}
|
||||||
|
>
|
||||||
|
<LottieDelayView
|
||||||
|
progress={testButtonStatus ? 1 : 0}
|
||||||
|
speed={1.4}
|
||||||
|
style={{ width: 80, height: 80 }}
|
||||||
|
source={require("../../assets/939-star.json")}
|
||||||
|
lottieRef={lottieRef}
|
||||||
|
loop={false}
|
||||||
|
/>
|
||||||
|
</TouchableOpacity>
|
||||||
|
)}
|
||||||
|
|
||||||
<Text style={styleSheet.JRStyle}>JR</Text>
|
<Text style={styleSheet.JRStyle}>JR</Text>
|
||||||
<View style={styleSheet.下帯} />
|
<View style={styleSheet.下帯} />
|
||||||
|
1
menu.js
1
menu.js
@ -172,6 +172,7 @@ export default function Menu({ getCurrentTrain }) {
|
|||||||
<Sign
|
<Sign
|
||||||
currentStation={item}
|
currentStation={item}
|
||||||
originalStationList={originalStationList}
|
originalStationList={originalStationList}
|
||||||
|
isCurrentStation={item == currentStation}
|
||||||
oP={() => {
|
oP={() => {
|
||||||
const payload = {
|
const payload = {
|
||||||
currentStation:
|
currentStation:
|
||||||
|
Loading…
Reference in New Issue
Block a user