From f4f8336bc66ed8de46ebdb2902a5cb37aac1b932 Mon Sep 17 00:00:00 2001 From: Ivan Chen Date: Fri, 6 Aug 2021 17:32:13 -0400 Subject: Add show camera --- src/screens/moments/CameraScreen.tsx | 19 +++++++++++-------- 1 file 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 = ({route, navigation}) => { const [mostRecentPhoto, setMostRecentPhoto] = useState(''); const [isRecording, setIsRecording] = useState(false); const [pictureProcessing, setPictureProcessing] = useState(false); - const [mounted, setMounted] = useState(false); + const [showCamera, setShowCamera] = useState(true); const [vidUri, setVidUri] = useState(); const [videoRecordStart, setVideoRecordStart] = useState(false); @@ -44,6 +44,14 @@ const CameraScreen: React.FC = ({route, navigation}) => { } }; + useEffect(() => { + if (!focused) { + setTimeout(() => { + setShowCamera(false); + }, 500); + } + }, [focused]); + useFocusEffect( useCallback(() => { navigation.dangerouslyGetParent()?.setOptions({ @@ -56,10 +64,7 @@ const CameraScreen: React.FC = ({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 = ({route, navigation}) => { .catch((_err) => console.log('Unable to fetch preview photo for gallery'), ); - - setMounted(true); }, []); /* @@ -130,7 +133,7 @@ const CameraScreen: React.FC = ({route, navigation}) => { - {focused && ( + {showCamera && (