소스 검색

small fixes

Viktoriia 1 년 전
부모
커밋
0f2b59552f

+ 9 - 1
src/screens/InAppScreens/TravellersScreen/Components/Profile.tsx

@@ -158,7 +158,15 @@ export const Profile: FC<Props> = ({
       case 'NM':
         return 'NM list of regions';
       case 'DARE':
-        return '“Distinctive Alternative Remote Extreme” places';
+        return (
+          <Text>
+            <Text style={{ fontWeight: '700' }}>D</Text>istinctive{' '}
+            <Text style={{ fontWeight: '700' }}>A</Text>lternative{' '}
+            <Text style={{ fontWeight: '700' }}>R</Text>emote{' '}
+            <Text style={{ fontWeight: '700' }}>E</Text>
+            xtreme places
+          </Text>
+        );
       case 'UN':
         return 'UN countries';
       case 'UN+':

+ 3 - 6
src/screens/InAppScreens/TravelsScreen/AddNewTripScreen/index.tsx

@@ -154,13 +154,11 @@ const AddNewTripScreen = ({ route }: { route: any }) => {
     if (regions && selectedDates) {
       const isStartDateInFuture =
         selectedDates.split(' - ')[0] > new Date().toISOString().split('T')[0];
-      const isEndDateInPast =
-        selectedDates.split(' - ')[1] <= new Date().toISOString().split('T')[0];
       const regionsData = regions.map((region) => {
         return {
           id: region.id,
           quality: region.quality ?? 3,
-          status: isStartDateInFuture ? 0 : isEndDateInPast ? 1 : (Number(region.status) as 0 | 1),
+          status: isStartDateInFuture ? 0 : (Number(region.status) as 0 | 1),
           hidden: region.hidden
         };
       });
@@ -186,13 +184,11 @@ const AddNewTripScreen = ({ route }: { route: any }) => {
     if (regions && selectedDates) {
       const isStartDateInFuture =
         selectedDates.split(' - ')[0] > new Date().toISOString().split('T')[0];
-      const isEndDateInPast =
-        selectedDates.split(' - ')[1] <= new Date().toISOString().split('T')[0];
       const regionsData = regions.map((region) => {
         return {
           id: region.id,
           quality: region.quality ?? 3,
-          status: isStartDateInFuture ? 0 : isEndDateInPast ? 1 : (Number(region.status) as 0 | 1),
+          status: isStartDateInFuture ? 0 : (Number(region.status) as 0 | 1),
           hidden: region.hidden
         };
       });
@@ -268,6 +264,7 @@ const AddNewTripScreen = ({ route }: { route: any }) => {
                     onHiddenChange={() => changeHiddenForRegion(region.id)}
                     startDate={selectedDates ? selectedDates.split(' - ')[0] : null}
                     endDate={selectedDates ? selectedDates.split(' - ')[1] : null}
+                    isEditing={editTripId}
                   />
                 );
               })}

+ 21 - 4
src/screens/InAppScreens/TravelsScreen/Components/RegionItem/index.tsx

@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useEffect, useState } from 'react';
 import { View, Text, Image, TouchableOpacity } from 'react-native';
 
 import { qualityOptions } from '../../utils/constants';
@@ -19,7 +19,8 @@ const RegionItem = ({
   onQualityChange,
   onHiddenChange,
   startDate,
-  endDate
+  endDate,
+  isEditing
 }: {
   region: RegionAddData;
   onDelete: () => void;
@@ -28,12 +29,25 @@ const RegionItem = ({
   onHiddenChange: () => void;
   startDate: string | null;
   endDate: string | null;
+  isEditing: boolean;
 }) => {
   const name = region.region_name.split(/ – | - /);
   const qualityName = region.quality
     ? qualityOptions.find((q) => q.id === region.quality)?.name
     : 'Good Visit';
   const disabled = !startDate || startDate > new Date().toISOString().split('T')[0];
+  const completed = endDate && endDate <= new Date().toISOString().split('T')[0];
+  const [isCompleted, setIsCompleted] = useState(false);
+
+  useEffect(() => {
+    if (isEditing) return;
+    setIsCompleted(completed as boolean);
+    if (completed && region.status === 0) {
+      region.status = 1;
+    } else {
+      region.status = 0;
+    }
+  }, [completed, endDate]);
 
   return (
     <View key={region.id} style={styles.regionItem}>
@@ -76,14 +90,17 @@ const RegionItem = ({
               borderColor: Colors.LIGHT_GRAY
             }
           ]}
-          onPress={onToggleStatus}
+          onPress={() => {
+            onToggleStatus();
+            setIsCompleted(false);
+          }}
           disabled={disabled}
         >
           <View style={styles.completedContainer}>
             <View style={{ position: 'relative' }}>
               <SquareSvg />
             </View>
-            {(region.status === 1 && !disabled) && (
+            {(isCompleted || (region.status === 1 && !disabled)) && (
               <View style={{ position: 'absolute', left: 2, top: 1 }}>
                 <CheckSvg width={14} height={14} />
               </View>