Skip to content

Commit ccf4248

Browse files
committed
fix: move fetchSoilDataForUser call to PullRequester
1 parent 0a3ddc9 commit ccf4248

File tree

2 files changed

+13
-12
lines changed

2 files changed

+13
-12
lines changed

dev-client/src/screens/SitesScreen/SitesScreen.tsx

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import {Box} from 'terraso-mobile-client/components/NativeBaseAdapters';
3838
import {positionToCoords} from 'terraso-mobile-client/components/StaticMapView';
3939
import {useGeospatialContext} from 'terraso-mobile-client/context/GeospatialContext';
4040
import {SitesScreenContext} from 'terraso-mobile-client/context/SitesScreenContext';
41-
import {fetchSoilDataForUser} from 'terraso-mobile-client/model/soilData/soilDataGlobalReducer';
4241
import {AppBar} from 'terraso-mobile-client/navigation/components/AppBar';
4342
import {ScreenScaffold} from 'terraso-mobile-client/screens/ScreenScaffold';
4443
import {MapHeader} from 'terraso-mobile-client/screens/SitesScreen/components/MapHeader';
@@ -54,9 +53,8 @@ import {
5453
siteCallout,
5554
} from 'terraso-mobile-client/screens/SitesScreen/SitesScreenCallout';
5655
import {getSitesScreenFilters} from 'terraso-mobile-client/screens/SitesScreen/utils/sitesScreenFilters';
57-
import {useDispatch, useSelector} from 'terraso-mobile-client/store';
56+
import {useSelector} from 'terraso-mobile-client/store';
5857
import {
59-
selectCurrentUserID,
6058
selectSites,
6159
selectSitesAndUserRoles,
6260
} from 'terraso-mobile-client/store/selectors';
@@ -65,10 +63,8 @@ export const SitesScreen = memo(() => {
6563
const siteListBottomSheetRef = useRef<BottomSheet>(null);
6664
const [mapStyleURL, setMapStyleURL] = useState(Mapbox.StyleURL.Street);
6765
const [calloutState, setCalloutState] = useState<CalloutState>(noneCallout());
68-
const currentUserID = useSelector(selectCurrentUserID);
6966
const sites = useSelector(selectSites);
7067
const siteList = useMemo(() => Object.values(sites), [sites]);
71-
const dispatch = useDispatch();
7268
const mapRef = useRef<MapRef>(null);
7369
const siteProjectRoles = useSelector(selectSitesAndUserRoles);
7470
const sitesScreenContext = useContext(SitesScreenContext);
@@ -95,12 +91,6 @@ export const SitesScreen = memo(() => {
9591
[showSiteOnMap, collapseBottomSheet],
9692
);
9793

98-
useEffect(() => {
99-
if (currentUserID !== undefined) {
100-
dispatch(fetchSoilDataForUser(currentUserID));
101-
}
102-
}, [dispatch, currentUserID]);
103-
10494
const currentUserCoords = useSelector(state => state.map.userLocation.coords);
10595

10696
const [finishedLoading, setFinishedLoading] = useState(false);

dev-client/src/store/sync/PullRequester.tsx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ import {useEffect, useRef} from 'react';
2020
import _ from 'lodash';
2121

2222
import {setPullRequested} from 'terraso-mobile-client/model/sync/syncSlice';
23-
import {useDispatch} from 'terraso-mobile-client/store';
23+
import {useDispatch, useSelector} from 'terraso-mobile-client/store';
24+
import {selectCurrentUserID} from 'terraso-mobile-client/store/selectors';
2425
import {
2526
useDebouncedIsOffline,
2627
useSyncErrorSiteIds,
@@ -37,6 +38,16 @@ export const PullRequester = () => {
3738
dispatch(setPullRequested(true));
3839
}, [dispatch]);
3940

41+
// Request a pull when we login
42+
const currentUserID = useSelector(selectCurrentUserID);
43+
const previousCurrentUserID = useRef<string | undefined>(currentUserID);
44+
useEffect(() => {
45+
if (currentUserID !== undefined && previousCurrentUserID === undefined) {
46+
dispatch(setPullRequested(true));
47+
}
48+
previousCurrentUserID.current = currentUserID;
49+
}, [currentUserID, dispatch]);
50+
4051
// Request a pull when we come online
4152
const isOffline = useDebouncedIsOffline(OFFLINE_DEBOUNCE_MS);
4253
const wasPreviouslyOffline = useRef<boolean>(isOffline);

0 commit comments

Comments
 (0)