소스 검색

buttons in filters removed

Viktoriia 7 달 전
부모
커밋
af4dc563de

+ 32 - 108
src/screens/InAppScreens/MapScreen/FilterModal/index.tsx

@@ -176,6 +176,35 @@ const FilterModal = ({
     }
   }, [seriesList]);
 
+  useEffect(() => {
+    if (isFilterVisible && isFilterVisible === 'series') {
+      setSeriesFilter &&
+        setSeriesFilter({
+          visible: seriesVisible,
+          groups: selectedSeries,
+          applied: true,
+          status: selectedSeriesFilter
+        });
+      saveFilterSettings();
+    }
+  }, [selectedSeries, seriesVisible, selectedSeriesFilter]);
+
+  useEffect(() => {
+    if (isFilterVisible && isFilterVisible === 'regions') {
+      saveFilterSettings();
+      handleApplyFilter();
+      setType(
+        tilesType.value === 2
+          ? 'dare'
+          : tilesType.value === 1
+            ? 'countries'
+            : tilesType.value === -1
+              ? 'blank'
+              : 'regions'
+      );
+    }
+  }, [selectedYear, selectedVisible, tilesType]);
+
   if (!data && isLogged) return;
 
   const handleApplyFilter = () => {
@@ -184,24 +213,14 @@ const FilterModal = ({
     }
 
     if (selectedVisible.value === 0) {
-      if (tilesType.value === 0) {
-        setRegionsFilter({
-          visitedLabel: 'by',
-          year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
-        });
-      } else if (tilesType.value === 1) {
+      if (tilesType.value === 0 || tilesType.value === 1) {
         setRegionsFilter({
           visitedLabel: 'by',
           year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
         });
       }
     } else {
-      if (tilesType.value === 0) {
-        setRegionsFilter({
-          visitedLabel: 'in',
-          year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
-        });
-      } else if (tilesType.value === 1) {
+      if (tilesType.value === 0 || tilesType.value === 1) {
         setRegionsFilter({
           visitedLabel: 'in',
           year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
@@ -275,55 +294,6 @@ const FilterModal = ({
             </View>
           ) : null}
         </View>
-        <View style={{ gap: 16 }}>
-          <Button
-            children="Filter"
-            onPress={() => {
-              saveFilterSettings();
-              handleApplyFilter();
-              setType(
-                tilesType.value === 2
-                  ? 'dare'
-                  : tilesType.value === 1
-                    ? 'countries'
-                    : tilesType.value === -1
-                      ? 'blank'
-                      : 'regions'
-              );
-              handleCloseFilter();
-            }}
-          />
-          <Button
-            children="Clear"
-            onPress={() => {
-              setTilesType({ label: 'NM regions', value: 0 });
-              setSelectedYear(allYears[0]);
-              setSelectedVisible({ label: 'visited by', value: 0 });
-              setRegionsFilter({ visitedLabel: 'by', year: moment().year() });
-              setType('regions');
-              if (!isPublicView && isLogged) {
-                storage.set(
-                  'filterSettings',
-                  JSON.stringify({
-                    type: 'regions',
-                    tilesType: { label: 'NM regions', value: 0 },
-                    selectedYear: allYears[0],
-                    selectedVisible: { label: 'visited by', value: 0 },
-                    seriesFilter: {
-                      visible: seriesVisible,
-                      groups: selectedSeries,
-                      status: selectedSeriesFilter,
-                      applied: true
-                    }
-                  })
-                );
-              }
-            }}
-            variant={ButtonVariants.OPACITY}
-            containerStyles={styles.closeBtn}
-            textStyles={{ color: Colors.DARK_BLUE }}
-          />
-        </View>
       </View>
     );
   };
@@ -428,52 +398,6 @@ const FilterModal = ({
             }}
           />
         </View>
-        <View style={{ gap: 16 }}>
-          <Button
-            children="Filter"
-            onPress={() => {
-              setSeriesFilter &&
-                setSeriesFilter({
-                  visible: seriesVisible,
-                  groups: selectedSeries,
-                  applied: true,
-                  status: selectedSeriesFilter
-                });
-              saveFilterSettings();
-              handleCloseFilter();
-            }}
-          />
-          <Button
-            children="Clear"
-            onPress={() => {
-              setSelectedSeries(series?.map((item) => item.value));
-              setSelectedSeriesFilter(-1);
-              setSeriesVisible(true);
-              setSeriesFilter &&
-                setSeriesFilter({ visible: true, groups: [], applied: false, status: -1 });
-              if (!isPublicView && isLogged) {
-                storage.set(
-                  'filterSettings',
-                  JSON.stringify({
-                    type: tilesType.value,
-                    tilesType,
-                    selectedYear,
-                    selectedVisible,
-                    seriesFilter: {
-                      visible: true,
-                      groups: series?.map((item) => item.value),
-                      status: -1,
-                      applied: false
-                    }
-                  })
-                );
-              }
-            }}
-            variant={ButtonVariants.OPACITY}
-            containerStyles={styles.closeBtn}
-            textStyles={{ color: Colors.DARK_BLUE }}
-          />
-        </View>
       </View>
     );
   };
@@ -660,7 +584,7 @@ const FilterModal = ({
       statusBarTranslucent={true}
       presentationStyle="overFullScreen"
     >
-      <View style={[styles.modalContainer, { height: 360 }]}>{renderScene(isFilterVisible)}</View>
+      <View style={[styles.modalContainer, { height: 260 }]}>{renderScene(isFilterVisible)}</View>
     </ReactModal>
   );
 };

+ 9 - 3
src/screens/InAppScreens/MapScreen/index.tsx

@@ -268,6 +268,7 @@ const MapScreen: any = ({ navigation, route }: { navigation: any; route: any })
   const [isConnected, setIsConnected] = useState<boolean>(true);
   const netInfo = useConnection();
 
+  const { data: isFeatureActive } = usePostIsFeatureActiveQuery(token, !!token && isConnected);
   const { data: regionsList } = useGetListRegionsQuery(isConnected);
   const { data: countriesList } = useGetListCountriesQuery(isConnected);
   const { data: dareList } = useGetListDareQuery(isConnected);
@@ -324,7 +325,6 @@ const MapScreen: any = ({ navigation, route }: { navigation: any; route: any })
     !!userId && isConnected
   );
   const { data: seriesIcons } = useGetIconsQuery(isConnected);
-  const { data: isFeatureActive } = usePostIsFeatureActiveQuery(token, !!token && isConnected);
   const userInfo = storage.get('currentUserData', StoreType.STRING) as string;
   const { mutateAsync: mutateUserData } = fetchUserData();
   const { mutateAsync: mutateUserDataDare } = fetchUserDataDare();
@@ -534,18 +534,24 @@ const MapScreen: any = ({ navigation, route }: { navigation: any; route: any })
   useEffect(() => {
     if (regionsVisited && regionsVisited.length) {
       setRegionsVisitedFilter(generateFilter(regionsVisited));
+    } else {
+      setRegionsVisitedFilter(['==', 'id', -1]);
     }
   }, [regionsVisited]);
 
   useEffect(() => {
     if (countriesVisited && countriesVisited.length) {
       setCountriesVisitedFilter(generateFilter(countriesVisited));
+    } else {
+      setCountriesVisitedFilter(['==', 'id', -1]);
     }
   }, [countriesVisited]);
 
   useEffect(() => {
     if (dareVisited && dareVisited.length) {
       setDareVisitedFilter(generateFilter(dareVisited));
+    } else {
+      setDareVisitedFilter(['==', 'id', -1]);
     }
   }, [dareVisited]);
 
@@ -1272,7 +1278,7 @@ const MapScreen: any = ({ navigation, route }: { navigation: any; route: any })
               id={series_layer.id}
               sourceID={series_layer.source}
               sourceLayerID={series_layer['source-layer']}
-              belowLayerID={Platform.OS === 'android' ? 'waterway-name' : undefined}
+              aboveLayerID={Platform.OS === 'android' ? 'waterway-name' : undefined}
               filter={seriesNotVisitedFilter as any}
               minZoomLevel={series_layer.minzoom}
               maxZoomLevel={series_layer.maxzoom}
@@ -1299,7 +1305,7 @@ const MapScreen: any = ({ navigation, route }: { navigation: any; route: any })
               id={series_visited.id}
               sourceID={series_visited.source}
               sourceLayerID={series_visited['source-layer']}
-              belowLayerID={Platform.OS === 'android' ? 'waterway-name' : undefined}
+              aboveLayerID={Platform.OS === 'android' ? 'waterway-name' : undefined}
               filter={seriesVisitedFilter as any}
               minZoomLevel={series_visited.minzoom}
               maxZoomLevel={series_visited.maxzoom}

+ 6 - 0
src/screens/InAppScreens/ProfileScreen/UsersMap/index.tsx

@@ -198,18 +198,24 @@ const UsersMapScreen: FC<Props> = ({ navigation, route }) => {
   useEffect(() => {
     if (visitedRegionIds) {
       setRegionsVisitedFilter(generateFilter(visitedRegionIds.ids));
+    } else {
+      setRegionsVisitedFilter(['==', 'id', -1]);
     }
   }, [visitedRegionIds]);
 
   useEffect(() => {
     if (visitedCountryIds) {
       setCountriesVisitedFilter(generateFilter(visitedCountryIds.ids));
+    } else {
+      setCountriesVisitedFilter(['==', 'id', -1]);
     }
   }, [visitedCountryIds]);
 
   useEffect(() => {
     if (visitedDareIds) {
       setDareVisitedFilter(generateFilter(visitedDareIds.ids));
+    } else {
+      setDareVisitedFilter(['==', 'id', -1]);
     }
   }, [visitedDareIds]);