From 061624117d3eae515f83b13dff7a48e41d8e0a0b Mon Sep 17 00:00:00 2001 From: ISHAN RAJ SINGH Date: Tue, 27 Jan 2026 22:20:17 +0530 Subject: [PATCH 1/2] Update CameraScreen.tsx --- frontend/src/screens/CameraScreen.tsx | 50 +++++++++++++++------------ 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/frontend/src/screens/CameraScreen.tsx b/frontend/src/screens/CameraScreen.tsx index 644c67a..db841eb 100644 --- a/frontend/src/screens/CameraScreen.tsx +++ b/frontend/src/screens/CameraScreen.tsx @@ -74,34 +74,40 @@ export default function CameraScreen({ }; const handletheCapture = async () => { - if (!cameraRef.current || !isCameraOk) { - return; - } + if (!cameraRef.current || !isCameraOk) return; - const photo = await cameraRef.current.takePictureAsync(); - let location = null; + // fast capture + const photo = await cameraRef.current.takePictureAsync({ + quality: 0.85, + skipProcessing: true, + }); + + // navigate instantly + navigation.navigate("UploadConfirmationScreen", { + photo, + location: null, + }); + + // fetch location in background + fetchLocationInBackground(photo); + }; + const fetchLocationInBackground = async (photo: any) => { const permissionStatus = await ensureLocationPermission(); if (permissionStatus === "granted") { - const servicesEnabled = await Location.hasServicesEnabledAsync(); - if (!servicesEnabled) { - Alert.alert( - "Location off", - "Enable location services to add location data." - ); - } else { - try { - location = await Location.getCurrentPositionAsync({}); - } catch (error) { - Alert.alert("Location error", "Unable to fetch your location."); - } + try { + const location = await Location.getCurrentPositionAsync({ + accuracy: Location.Accuracy.Balanced, + }); + + navigation.navigate("UploadConfirmationScreen", { + photo, + location, + }); + } catch (err) { + Alert.alert(err); } } - - navigation.navigate("UploadConfirmationScreen", { - photo, - location, - }); }; const handleGalleryPick = async () => { From 7cd5fc19a8b82267f7799900f116aa95e65f40d9 Mon Sep 17 00:00:00 2001 From: ISHAN RAJ SINGH Date: Tue, 27 Jan 2026 22:25:27 +0530 Subject: [PATCH 2/2] Update CameraScreen.tsx --- frontend/src/screens/CameraScreen.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/src/screens/CameraScreen.tsx b/frontend/src/screens/CameraScreen.tsx index db841eb..cec56c7 100644 --- a/frontend/src/screens/CameraScreen.tsx +++ b/frontend/src/screens/CameraScreen.tsx @@ -95,6 +95,15 @@ export default function CameraScreen({ const permissionStatus = await ensureLocationPermission(); if (permissionStatus === "granted") { + const servicesEnabled = await Location.hasServicesEnabledAsync(); + if (!servicesEnabled) { + Alert.alert( + "Location off", + "Enable location services to add location data." + ); + return; + } + try { const location = await Location.getCurrentPositionAsync({ accuracy: Location.Accuracy.Balanced, @@ -105,7 +114,7 @@ export default function CameraScreen({ location, }); } catch (err) { - Alert.alert(err); + Alert.alert("Location error", "Unable to fetch your location."); } } };