Pārlūkot izejas kodu

users map filter fix + fix for eas (env in gitignore)

Viktoriia 1 nedēļu atpakaļ
vecāks
revīzija
7f4e5b90e2

+ 0 - 1
.gitignore

@@ -28,7 +28,6 @@ package-lock.json
 .DS_Store
 
 # local env files
-.env
 .env*.local
 
 # typescript

+ 18 - 6
src/screens/InAppScreens/MapScreen/FilterModal/index.tsx

@@ -135,10 +135,12 @@ const FilterModal = forwardRef<
       { label: 'visited by', value: 0 },
       { label: 'visited in', value: 1 }
     ];
+    const parsedUserId = typeof userId === 'number' ? userId : parseInt(userId as any, 10);
+    const isUserIdValid = !isNaN(parsedUserId) && parsedUserId > 0;
     const { data } = usePostGetMapYearsQuery(
       token as string,
-      userId,
-      isLogged && isConnected ? true : false
+      parsedUserId,
+      isLogged && isConnected && isUserIdValid ? true : false
     );
     const { data: seriesList } = useGetListQuery(isConnected ? true : false);
     const [series, setSeries] = useState<
@@ -274,10 +276,18 @@ const FilterModal = forwardRef<
           .map((year) => ({ label: year.toString(), value: year }))
           .reverse();
         setAllYears(formattedYears);
-        formattedYears.length && !savedFilterSettings && setSelectedYear(formattedYears[0]);
-        formattedYears.length && setDefaultYear(formattedYears[0]);
+        if (formattedYears.length) {
+          if (!savedFilterSettings) {
+            if (!selectedYear || selectedYear.value !== formattedYears[0].value) {
+              setSelectedYear(formattedYears[0]);
+            }
+          }
+          if (!defaultYear || defaultYear.value !== formattedYears[0].value) {
+            setDefaultYear(formattedYears[0]);
+          }
+        }
       }
-    }, [data, savedFilterSettings]);
+    }, [data, savedFilterSettings, selectedYear, defaultYear]);
 
     useEffect(() => {
       if (seriesList?.data) {
@@ -384,7 +394,9 @@ const FilterModal = forwardRef<
       }
     };
 
-    const handleCloseFilter = () => {};
+    const handleCloseFilter = () => {
+      setIsFilterVisible(null);
+    };
 
     const renderRegions = () => {
       return (

+ 4 - 5
src/screens/InAppScreens/ProfileScreen/UsersMap/index.tsx

@@ -31,7 +31,7 @@ import CloseSvg from 'assets/icons/close.svg';
 import LocationIcon from 'assets/icons/location.svg';
 import SearchIcon from 'assets/icons/search.svg';
 
-import FilterModal from '../../MapScreen/FilterModal';
+import FilterModal, { FilterModalRef } from '../../MapScreen/FilterModal';
 import SearchModal from '../../MapScreen/UniversalSearch';
 import { useGetUniversalSearch } from '@api/search';
 import { storage, StoreType } from 'src/storage';
@@ -205,7 +205,7 @@ const UsersMapScreen: FC<Props> = ({ navigation, route }) => {
   const isAnimatingRef = useRef(false);
   const [renderCamera, setRenderCamera] = useState(Platform.OS === 'ios');
 
-  const [isFilterVisible, setIsFilterVisible] = useState<string | null>(null);
+  const filterModalRef = useRef<FilterModalRef>(null);
   const [tilesType, setTilesType] = useState({ label: 'NM regions', value: 0 });
   const tilesTypes = [
     { label: 'NM regions', value: 0 },
@@ -1100,7 +1100,7 @@ const UsersMapScreen: FC<Props> = ({ navigation, route }) => {
             >
               <MapButton
                 onPress={() => {
-                  setIsFilterVisible('regions');
+                  filterModalRef.current?.openFilter('regions');
                 }}
                 icon={TravelsIcon}
                 text={
@@ -1136,8 +1136,7 @@ const UsersMapScreen: FC<Props> = ({ navigation, route }) => {
       )}
 
       <FilterModal
-        isFilterVisible={isFilterVisible}
-        setIsFilterVisible={setIsFilterVisible}
+        ref={filterModalRef}
         tilesTypes={tilesTypes}
         tilesType={tilesType}
         setTilesType={setTilesType}