diff options
author | Ivan Chen <ivan@tagg.id> | 2021-08-06 17:32:13 -0400 |
---|---|---|
committer | Ivan Chen <ivan@tagg.id> | 2021-08-06 17:32:13 -0400 |
commit | f4f8336bc66ed8de46ebdb2902a5cb37aac1b932 (patch) | |
tree | f9e0935cc4a250c0c50cc9dc4da29e62f3da24a1 | |
parent | eb2409404c5e3fe11529b5b237ac5863ae383e16 (diff) |
Add show camera
-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} |