diff options
-rw-r--r-- | src/screens/moments/CameraScreen.tsx | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/src/screens/moments/CameraScreen.tsx b/src/screens/moments/CameraScreen.tsx index 8a794ab8..2294072b 100644 --- a/src/screens/moments/CameraScreen.tsx +++ b/src/screens/moments/CameraScreen.tsx @@ -1,9 +1,9 @@ import CameraRoll from '@react-native-community/cameraroll'; import {useBottomTabBarHeight} from '@react-navigation/bottom-tabs'; import {RouteProp} from '@react-navigation/core'; -import {useFocusEffect, useIsFocused} from '@react-navigation/native'; +import {useFocusEffect} from '@react-navigation/native'; import {StackNavigationProp} from '@react-navigation/stack'; -import React, {useRef, useCallback, useEffect, useState} from 'react'; +import React, {useCallback, useEffect, useRef, useState} from 'react'; import {Modal, StyleSheet, TouchableOpacity, View} from 'react-native'; import {CameraType, FlashMode, RNCamera} from 'react-native-camera'; import {AnimatedCircularProgress} from 'react-native-circular-progress'; @@ -34,7 +34,7 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { const [pictureProcessing, setPictureProcessing] = useState<boolean>(false); const [showCamera, setShowCamera] = useState<boolean>(true); - const killUnnecessaryVideo = async () => { + const stopVideoRecording = async () => { if (await cameraRef.current?.isRecording()) { cameraRef.current?.stopRecording(); } @@ -129,9 +129,7 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { setCameraType(cameraType === 'front' ? 'back' : 'front'); } }} - onRecordingStart={() => { - setIsRecording(true); - }} + onRecordingStart={() => setIsRecording(true)} /> )} {!pictureProcessing && ( @@ -145,27 +143,24 @@ const CameraScreen: React.FC<CameraScreenProps> = ({route, navigation}) => { } activeOpacity={1} onLongPress={async () => { - await killUnnecessaryVideo(); + await stopVideoRecording(); takeVideo(cameraRef, (vid) => navigateToEditMedia(vid.uri)); }} onPressOut={async () => { - const cancelRecording = async () => { - if (isRecording && (await cameraRef.current?.isRecording())) { - cameraRef.current?.stopRecording(); - } else { - takePicture(cameraRef, (pic) => navigateToEditMedia(pic.uri)); - } - setIsRecording(false); - }; setPictureProcessing(true); - await cancelRecording(); + if (isRecording && (await cameraRef.current?.isRecording())) { + cameraRef.current?.stopRecording(); + } else { + takePicture(cameraRef, (pic) => navigateToEditMedia(pic.uri)); + } + setIsRecording(false); }} onPress={async () => { if (!pictureProcessing) { setPictureProcessing(true); } takePicture(cameraRef, (pic) => navigateToEditMedia(pic.uri)); - await killUnnecessaryVideo(); + await stopVideoRecording(); }}> <View style={styles.captureButton} /> </TouchableOpacity> |