diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/screens/moments/CameraScreen.tsx | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/screens/moments/CameraScreen.tsx b/src/screens/moments/CameraScreen.tsx index 78a9169d..1f38a0bf 100644 --- a/src/screens/moments/CameraScreen.tsx +++ b/src/screens/moments/CameraScreen.tsx @@ -33,7 +33,7 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { const [mostRecentPhoto, setMostRecentPhoto] = useState<string>(''); const [isRecording, setIsRecording] = useState<boolean>(false); const [pictureProcessing, setPictureProcessing] = useState<boolean>(false); - const [mounted, setMounted] = useState<boolean>(false); + const [showCamera, setShowCamera] = useState<boolean>(true); const [vidUri, setVidUri] = useState<string>(); const [videoRecordStart, setVideoRecordStart] = useState<boolean>(false); @@ -44,6 +44,14 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { } }; + useEffect(() => { + if (!focused) { + setTimeout(() => { + setShowCamera(false); + }, 500); + } + }, [focused]); + useFocusEffect( useCallback(() => { navigation.dangerouslyGetParent()?.setOptions({ @@ -56,10 +64,7 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { // reset in case this wasn't properly called setIsRecording(false); - // in case the preview image gets stuck - if (mounted) { - cameraRef?.current?.resumePreview(); - } + setShowCamera(true); return () => setIsRecording(false); }, [navigation]), @@ -79,8 +84,6 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { .catch((_err) => console.log('Unable to fetch preview photo for gallery'), ); - - setMounted(true); }, []); /* @@ -130,7 +133,7 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { <CloseIcon height={25} width={25} color={'white'} /> </TouchableOpacity> <FlashButton flashMode={flashMode} setFlashMode={setFlashMode} /> - {focused && ( + {showCamera && ( <RNCamera ref={cameraRef} style={styles.camera} |