diff options
-rw-r--r-- | src/screens/moments/CameraScreen.tsx | 15 | ||||
-rw-r--r-- | src/utils/camera.ts | 2 |
2 files changed, 6 insertions, 11 deletions
diff --git a/src/screens/moments/CameraScreen.tsx b/src/screens/moments/CameraScreen.tsx index 1f38a0bf..739461a8 100644 --- a/src/screens/moments/CameraScreen.tsx +++ b/src/screens/moments/CameraScreen.tsx @@ -27,7 +27,6 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { const {screenType, selectedCategory} = route.params; const cameraRef = useRef<RNCamera>(null); const tabBarHeight = useBottomTabBarHeight(); - const focused = useIsFocused(); const [cameraType, setCameraType] = useState<keyof CameraType>('back'); const [flashMode, setFlashMode] = useState<keyof FlashMode>('off'); const [mostRecentPhoto, setMostRecentPhoto] = useState<string>(''); @@ -44,14 +43,6 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { } }; - useEffect(() => { - if (!focused) { - setTimeout(() => { - setShowCamera(false); - }, 500); - } - }, [focused]); - useFocusEffect( useCallback(() => { navigation.dangerouslyGetParent()?.setOptions({ @@ -66,7 +57,11 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { setShowCamera(true); - return () => setIsRecording(false); + return () => { + setTimeout(() => { + setShowCamera(false); + }, 500); + }; }, [navigation]), ); diff --git a/src/utils/camera.ts b/src/utils/camera.ts index ec2615de..c9dec292 100644 --- a/src/utils/camera.ts +++ b/src/utils/camera.ts @@ -23,12 +23,12 @@ export const takePicture = ( cameraRef: RefObject<RNCamera>, callback: (pic: TakePictureResponse) => void, ) => { + cameraRef.current?.pausePreview(); if (cameraRef !== null) { const options: TakePictureOptions = { forceUpOrientation: true, orientation: 'portrait', writeExif: false, - pauseAfterCapture: true, }; cameraRef.current?.takePictureAsync(options).then((pic) => { callback(pic); |