aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/screens/moments/CameraScreen.tsx19
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}