Browse Source

visits in the future

Viktoriia 2 weeks ago
parent
commit
8763508f3b

+ 1 - 0
src/modules/api/myRegions/regions-api.tsx

@@ -95,6 +95,7 @@ export interface PostGetRegionsReturn extends ResponseType {
       last_visited_in_year: number | null;
       name: string;
       no_of_visits: number | null;
+      future: 0 | 1;
     }[];
     tcc: {
       flag1: string;

+ 22 - 4
src/screens/InAppScreens/MapScreen/RegionViewScreen/index.tsx

@@ -435,26 +435,44 @@ const RegionViewScreen: FC<Props> = ({ navigation, route }) => {
                   <EditSvg width={14} height={14} />
                 </TouchableOpacity>
               ) : null}
+              {regionData.future ? (
+                <View style={{ flex: 1 }}>
+                  <Text
+                    style={{
+                      fontSize: 10,
+                      fontWeight: '500',
+                      color: Colors.DARK_BLUE,
+                      flexShrink: 1,
+                      fontStyle: 'italic'
+                    }}
+                  >
+                    Visits planned in the future
+                  </Text>
+                </View>
+              ) : null}
               {!disabled ? (
                 <TouchableOpacity
                   style={[
                     ButtonStyles.btn,
-                    regionData?.visited && !disabled
+                    (regionData?.visited || regionData.future) && !disabled
                       ? ButtonStyles.visitedButton
                       : ButtonStyles.markVisitedButton
                   ]}
                   onPress={() => {
-                    if (regionData?.type === 'nm' && regionData?.no_of_visits > 1) {
+                    if (
+                      regionData?.type === 'nm' &&
+                      (regionData?.no_of_visits > 1 || regionData.future)
+                    ) {
                       handleOpenEditModal();
                       return;
                     }
                     type === 'nm' ? handleUpdateNm() : handleUpdateDare();
                   }}
                 >
-                  {regionData?.visited &&
+                  {(regionData?.visited || regionData.future) &&
                   !disabled &&
                   regionData?.type === 'nm' &&
-                  regionData?.no_of_visits > 1 ? (
+                  (regionData?.no_of_visits > 1 || regionData.future) ? (
                     <View style={ButtonStyles.visitedContainer}>
                       <EditSvg width={14} height={14} />
                       <Text style={ButtonStyles.visitedButtonText}>Edit</Text>

+ 19 - 4
src/screens/InAppScreens/TravelsScreen/Components/MyRegionsItems/NmRegionItem.tsx

@@ -102,18 +102,33 @@ export const NmRegionItem = React.memo(
 
           {token && (
             <View style={styles.btnContainer}>
-              {item.visits === 1 ? (
+              {item.visits === 1 && !item.future ? (
                 <TouchableOpacity onPress={() => openEditModal(item)} style={styles.editBtn}>
                   <EditSvg width={14} height={14} />
                 </TouchableOpacity>
               ) : null}
+              {item.future ? (
+                <View style={{ flex: 1 }}>
+                  <Text
+                    style={[
+                      styles.regionItemSubname,
+                      {
+                        fontSize: 10,
+                        fontStyle: 'italic'
+                      }
+                    ]}
+                  >
+                    Visits planned in the future
+                  </Text>
+                </View>
+              ) : null}
               <TouchableOpacity
                 style={[
                   styles.btn,
-                  item.visits > 0 ? styles.visitedButton : styles.markVisitedButton
+                  item.visits > 0 || item.future ? styles.visitedButton : styles.markVisitedButton
                 ]}
                 onPress={() => {
-                  if (item.visits > 1) {
+                  if (item.visits > 1 || item.future) {
                     openEditModal(item);
                     return;
                   }
@@ -126,7 +141,7 @@ export const NmRegionItem = React.memo(
                   );
                 }}
               >
-                {item.visits > 1 ? (
+                {item.visits > 1 || item.future ? (
                   <View style={styles.visitedContainer}>
                     <EditSvg width={14} height={14} />
                     <Text style={styles.visitedButtonText}>Edit</Text>

+ 4 - 2
src/screens/InAppScreens/TravelsScreen/EditCountryDataScreen/index.tsx

@@ -150,7 +150,8 @@ const EditCountryDataScreen = ({ route }: { route: any }) => {
           quality: region.best_visit_quality || null,
           year: region.first_visited_in_year || null,
           last: region.last_visited_in_year || null,
-          visits: region.no_of_visits || 0
+          visits: region.no_of_visits || 0,
+          future: region.future
         }))
       );
       setDataLoaded(true);
@@ -184,7 +185,8 @@ const EditCountryDataScreen = ({ route }: { route: any }) => {
           first_visit_year: item.year,
           last_visit_year: item.last,
           no_of_visits: item.visits,
-          visited: item.visits > 0
+          visited: item.visits > 0,
+          future: item.future
         });
         navigation.navigate(
           ...([

+ 4 - 2
src/screens/InAppScreens/TravelsScreen/RegionsScreen/index.tsx

@@ -157,7 +157,8 @@ const RegionsScreen = () => {
           quality: region.best_visit_quality || null,
           year: region.first_visited_in_year || null,
           last: region.last_visited_in_year || null,
-          visits: region.no_of_visits || 0
+          visits: region.no_of_visits || 0,
+          future: region.future
         }))
       );
       setTccRegions(regionsQe.data.tcc);
@@ -235,7 +236,8 @@ const RegionsScreen = () => {
           first_visit_year: item.year,
           last_visit_year: item.last,
           no_of_visits: item.visits,
-          visited: item.visits > 0
+          visited: item.visits > 0,
+          future: item.future
         });
         navigation.navigate(
           ...([