Commit 5fe2ad7c by tungnq

FIX: Sửa thành công lỗi bấm nhiều lần ko vào mail luôn

parent cdff63f7
......@@ -57,41 +57,57 @@ const EmailHomeView = props => {
const panResponder = PanResponder.create({
onMoveShouldSetPanResponder: (evt, gestureState) => {
// console.log('gestureState', gestureState);
// console.log('gestureState L1', gestureState);
const moveX = Math.abs(gestureState.dx);
console.log('moveX', moveX);
// console.log('moveX', moveX);
const isSwipingLeft = moveX < deleteThreshold;
console.log('isSwipingLeft', isSwipingLeft);
// console.log('isSwipingLeft', isSwipingLeft);
return isSwipingLeft;
},
// onPanResponderMove: (evt, gestureState) => {
// console.log('gestureState', gestureState.dx);
onPanResponderMove: (evt, gestureState) => {
// console.log('gestureState L2', gestureState.dx);
if (gestureState.vx < 0 && gestureState.dx > -100 && gestureState.dx < 0) {
console.log('gestureState L2', gestureState.dx, gestureState.vx,);
translateX.setValue(-100);
setSwipedEmailId(item.id);
} else {
translateX.setValue(0);
}
// if (gestureState.dx > -100 && gestureState.dx < 0 ) {
// translateX.setValue(-100);
// }else if(gestureState.dx >0){
// translateX.setValue(0);
// }
// },
},
onPanResponderRelease: (evt, gestureState) => {
console.log('deleteThreshold', -deleteThreshold);
// console.log('gestureState L3', gestureState);
if (Math.abs(gestureState.dx) >= 0 && gestureState.vx === 0) {
console.log('gestureState L3', gestureState.dx, gestureState.vx,);
// // Nếu di chuyển đủ lớn, vuốt để xóa
// if (gestureState.dx < -deleteThreshold ) {
// // Hiển thị nút xóa
// Animated.timing(translateX, {
// toValue: -100,
// duration: 300,
// useNativeDriver: true,
// }).start();
// setSwipedEmailId(item.id);
// } else {
// // Nếu di chuyển sang phải (hoặc không vuốt đủ xa), quay lại vị trí ban đầu
// Animated.spring(translateX, {
// toValue: 0,
// useNativeDriver: true,
// }).start(() => {
// setSwipedEmailId(null);
// });
// }
if (gestureState.dx < -deleteThreshold) {
// Show delete button
Animated.timing(translateX, {
toValue: -100,
duration: 300,
useNativeDriver: true,
}).start();
setSwipedEmailId(item.id);
}
else {
Animated.spring(translateX, {
toValue: 0,
useNativeDriver: true,
}).start(() => {
setSwipedEmailId(null);
});
}
navigation.navigate(SCREENNAME.DETAILEMAIL);
}
// } else {
// // Nếu không có chuyển động đủ lớn (chỉ bấm), chuyển tới màn hình chi tiết
// navigation.navigate(SCREENNAME.DETAILEMAIL);
// }
},
});
......@@ -116,6 +132,12 @@ const EmailHomeView = props => {
setSwipedEmailId(null);
});
};
const handleEmailPress = () => {
// Chỉ điều hướng nếu email chưa bị vuốt
if (swipedEmailId === null) {
navigation.navigate(SCREENNAME.DETAILEMAIL);
}
};
return (
<View style={styles.swipeContainer}>
......@@ -136,7 +158,7 @@ const EmailHomeView = props => {
{...panResponder.panHandlers}>
<TouchableOpacity
style={[styles.emailItem, !item.isRead && styles.unreadEmail]}
onPress={() => navigation.navigate(SCREENNAME.DETAILEMAIL)}>
onPress={handleEmailPress}>
<View style={styles.avatarContainer}>
<View style={styles.avatar}>
<Text style={styles.avatarText}>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment