fix: reduce image flickering on Suggestions (#2049)

Stabilizes some of the props to prevent some re-renders.

Closes #1878
This commit is contained in:
Ken-ichi
2024-09-06 16:55:36 -07:00
committed by GitHub
parent fa8411a8b6
commit ffc8a42a5c
2 changed files with 11 additions and 8 deletions

View File

@@ -129,7 +129,10 @@ const SuggestionsContainer = ( ) => {
useClearComputerVisionDirectory( );
const currentObservation = useStore( state => state.currentObservation );
const innerPhotos = ObservationPhoto.mapInnerPhotos( currentObservation );
const photoUris = ObservationPhoto.mapObsPhotoUris( currentObservation );
const photoUris = useMemo(
() => ObservationPhoto.mapObsPhotoUris( currentObservation ),
[currentObservation]
);
const updateObservationKeys = useStore( state => state.updateObservationKeys );
const evidenceHasLocation = !!currentObservation?.latitude;

View File

@@ -72,11 +72,12 @@ const useLocationPermission = ( ) => {
);
}, [showPermissionGate] );
function requestPermissions() {
setShowPermissionGate( true );
}
const requestPermissions = useCallback(
( ) => setShowPermissionGate( true ),
[]
);
async function checkPermissions() {
const checkPermissions = useCallback( async () => {
const permissionsResult = permissionResultFromMultiple(
await checkMultiple( LOCATION_PERMISSIONS )
);
@@ -87,14 +88,13 @@ const useLocationPermission = ( ) => {
setHasBlockedPermissions( true );
} else {
setHasPermissions( false );
console.log( "Location permissions have not been granted." );
}
}
}, [] );
// Check permissions on mount
useEffect( () => {
checkPermissions();
}, [] );
}, [checkPermissions] );
return {
hasPermissions,