Parcourir la source

delete trip fix

Viktoriia il y a 1 jour
Parent
commit
4720b12267
1 fichiers modifiés avec 18 ajouts et 13 suppressions
  1. 18 13
      src/screens/InAppScreens/TravelsScreen/AddNewTripScreen/index.tsx

+ 18 - 13
src/screens/InAppScreens/TravelsScreen/AddNewTripScreen/index.tsx

@@ -66,6 +66,7 @@ const AddNewTripScreen = ({ route }: { route: any }) => {
   const [selectedYear, setSelectedYear] = useState<number | null>(new Date().getFullYear());
   const [selectedMonth, setSelectedMonth] = useState<number | null>(new Date().getMonth() + 1);
   const [selectedDay, setSelectedDay] = useState<number | null>(null);
+  const [pendingDelete, setPendingDelete] = useState(false);
 
   const { mutate: saveNewTrip } = usePostSetNewTripMutation();
   const { mutate: updateTrip } = usePostUpdateTripMutation();
@@ -316,19 +317,7 @@ const AddNewTripScreen = ({ route }: { route: any }) => {
 
   const handleDeleteTrip = async () => {
     setIsWarningModalVisible(false);
-    setTimeout(() => {
-      deleteTrip(
-        {
-          token,
-          trip_id: editTripId
-        },
-        {
-          onSuccess: () => {
-            navigation.popTo(...([NAVIGATION_PAGES.TRIPS, { deleted: true }] as never));
-          }
-        }
-      );
-    }, 300);
+    setPendingDelete(true);
   };
 
   const handleSaveNewTrip = () => {
@@ -616,6 +605,22 @@ const AddNewTripScreen = ({ route }: { route: any }) => {
         title="Delete Trip"
         message="Are you sure you want to delete your trip?"
         action={handleDeleteTrip}
+        onModalHide={() => {
+          if (pendingDelete) {
+            setPendingDelete(false);
+            deleteTrip(
+              {
+                token,
+                trip_id: editTripId
+              },
+              {
+                onSuccess: () => {
+                  navigation.popTo(...([NAVIGATION_PAGES.TRIPS, { deleted: true }] as never));
+                }
+              }
+            );
+          }
+        }}
       />
     </PageWrapper>
   );