diff --git a/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js b/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js
index a5f926c..51ba766 100644
--- a/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js
+++ b/components/Settings/FavoliteSettings/FavoiliteSettingsItem.js
@@ -2,14 +2,10 @@ import React, { useEffect, useState } from "react";
import Icon from "react-native-vector-icons/Entypo";
import { View, Text, TouchableOpacity, LayoutAnimation } from "react-native";
import lineColorList from "../../../assets/originData/lineColorList";
+import Ionicons from "react-native-vector-icons/Ionicons";
import { AS } from "../../../storageControl";
-export const FavoriteSettingsItem = ({
- currentStation,
- setFavoriteStation,
- index,
- array,
-}) => {
+export const FavoriteSettingsItem = ({ currentStation }) => {
const lineIDs = [];
const EachIDs = [];
console.log(currentStation);
@@ -19,27 +15,6 @@ export const FavoriteSettingsItem = ({
lineIDs.push(textArray.filter((s) => "A" < s && s < "Z").join(""));
EachIDs.push(textArray.filter((s) => "0" <= s && s <= "9").join(""));
});
- const [head, setHead] = useState(false);
- const [tail, setTail] = useState(false);
- useEffect(() => {
- switch (true) {
- case array.length == 1:
- setHead(true);
- setTail(true);
- break;
- case index == 0:
- setHead(true);
- setTail(false);
- break;
- case index == array.length - 1:
- setHead(false);
- setTail(true);
- break;
- default:
- setHead(false);
- setTail(false);
- }
- }, [array]);
return (
@@ -47,7 +22,7 @@ export const FavoriteSettingsItem = ({
style={{
width: 35,
position: "relative",
- marginHorizontal: 15,
+ marginHorizontal: 10,
flexDirection: "row",
height: "101%",
}}
@@ -91,43 +66,15 @@ export const FavoriteSettingsItem = ({
>
{currentStation[0].Station_JP}
- {
- console.log("up");
- LayoutAnimation.configureNext(
- LayoutAnimation.Presets.easeInEaseOut
- );
- const removedStation = [...array].filter((d, i) => {
- if (i == index) return false;
- return true;
- });
- removedStation.splice(index - 1, 0, currentStation);
- setFavoriteStation(removedStation);
-
- AS.setItem("favoriteStation", JSON.stringify(removedStation));
- }}
- >
- {head ? null : }
-
- {
- console.log("down");
- LayoutAnimation.configureNext(
- LayoutAnimation.Presets.easeInEaseOut
- );
- const removedStation = [...array].filter((d, i) => {
- if (i == index) return false;
- return true;
- });
- removedStation.splice(index + 1, 0, currentStation);
- setFavoriteStation(removedStation);
- AS.setItem("favoriteStation", JSON.stringify(removedStation));
- }}
- >
- {tail ? null : }
-
+
+
+
);
diff --git a/components/Settings/FavoriteSettings.js b/components/Settings/FavoriteSettings.js
index f0049ac..5c60747 100644
--- a/components/Settings/FavoriteSettings.js
+++ b/components/Settings/FavoriteSettings.js
@@ -1,30 +1,57 @@
-import React from "react";
-import { View, Text, TouchableOpacity, ScrollView } from "react-native";
+import React, { useCallback } from "react";
+import { View, Text, StyleSheet } from "react-native";
+import Animated, { useAnimatedRef } from "react-native-reanimated";
import { useNavigation } from "@react-navigation/native";
+import Sortable from "react-native-sortables";
import { useFavoriteStation } from "../../stateBox/useFavoriteStation";
import { FavoriteSettingsItem } from "./FavoliteSettings/FavoiliteSettingsItem";
import { SheetHeaderItem } from "@/components/atom/SheetHeaderItem";
export const FavoriteSettings = () => {
const { favoriteStation, setFavoriteStation } = useFavoriteStation();
+ const scrollableRef = useAnimatedRef();
const { goBack } = useNavigation();
+ const renderItem = useCallback((props) => {
+ const { item, index } = props;
+ return (
+
+ );
+ }, []);
return (
-
- {favoriteStation.map((currentStation, index, array) => (
-
- ))}
-
+
+ {
+ const newFavoriteStation = newOrder.indexToKey.map((item,index,array)=>{
+ let returnData = [];
+ favoriteStation.forEach((station) => {
+ if (station[0].StationNumber === item) returnData = station;
+ });
+ return returnData;
+ });
+ setFavoriteStation(newFavoriteStation);
+ }}
+ keyExtractor={(item) => item[0].StationNumber}
+ />
+
{
);
};
+
+const styles = StyleSheet.create({
+ card: {
+ alignItems: "center",
+ backgroundColor: "#36877F",
+ borderRadius: 10,
+ height: 100,
+ justifyContent: "center",
+ },
+ contentContainer: {
+ padding: 10,
+ },
+ text: {
+ color: "white",
+ fontWeight: "bold",
+ },
+});