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 => { ...@@ -57,41 +57,57 @@ const EmailHomeView = props => {
const panResponder = PanResponder.create({ const panResponder = PanResponder.create({
onMoveShouldSetPanResponder: (evt, gestureState) => { onMoveShouldSetPanResponder: (evt, gestureState) => {
// console.log('gestureState', gestureState); // console.log('gestureState L1', gestureState);
const moveX = Math.abs(gestureState.dx); const moveX = Math.abs(gestureState.dx);
console.log('moveX', moveX); // console.log('moveX', moveX);
const isSwipingLeft = moveX < deleteThreshold; const isSwipingLeft = moveX < deleteThreshold;
console.log('isSwipingLeft', isSwipingLeft); // console.log('isSwipingLeft', isSwipingLeft);
return isSwipingLeft; return isSwipingLeft;
}, },
// onPanResponderMove: (evt, gestureState) => { onPanResponderMove: (evt, gestureState) => {
// console.log('gestureState', gestureState.dx); // console.log('gestureState L2', gestureState.dx);
// if (gestureState.dx > -100 && gestureState.dx < 0 ) { if (gestureState.vx < 0 && gestureState.dx > -100 && gestureState.dx < 0) {
// translateX.setValue(-100); console.log('gestureState L2', gestureState.dx, gestureState.vx,);
// }else if(gestureState.dx >0){ translateX.setValue(-100);
// translateX.setValue(0);
// }
// },
onPanResponderRelease: (evt, gestureState) => {
console.log('deleteThreshold', -deleteThreshold);
if (gestureState.dx < -deleteThreshold) {
// Show delete button
Animated.timing(translateX, {
toValue: -100,
duration: 300,
useNativeDriver: true,
}).start();
setSwipedEmailId(item.id); setSwipedEmailId(item.id);
} } else {
else { translateX.setValue(0);
Animated.spring(translateX, {
toValue: 0,
useNativeDriver: true,
}).start(() => {
setSwipedEmailId(null);
});
} }
// if (gestureState.dx > -100 && gestureState.dx < 0 ) {
// translateX.setValue(-100);
// }else if(gestureState.dx >0){
// translateX.setValue(0);
// }
},
onPanResponderRelease: (evt, gestureState) => {
// 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);
// });
// }
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 => { ...@@ -116,6 +132,12 @@ const EmailHomeView = props => {
setSwipedEmailId(null); 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 ( return (
<View style={styles.swipeContainer}> <View style={styles.swipeContainer}>
...@@ -136,7 +158,7 @@ const EmailHomeView = props => { ...@@ -136,7 +158,7 @@ const EmailHomeView = props => {
{...panResponder.panHandlers}> {...panResponder.panHandlers}>
<TouchableOpacity <TouchableOpacity
style={[styles.emailItem, !item.isRead && styles.unreadEmail]} style={[styles.emailItem, !item.isRead && styles.unreadEmail]}
onPress={() => navigation.navigate(SCREENNAME.DETAILEMAIL)}> onPress={handleEmailPress}>
<View style={styles.avatarContainer}> <View style={styles.avatarContainer}>
<View style={styles.avatar}> <View style={styles.avatar}>
<Text style={styles.avatarText}> <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