фикс
This commit is contained in:
parent
1f521f01a5
commit
d66853472f
@ -298,9 +298,11 @@ const startTouch = (event) => {
|
||||
touchStartX.value = event.touches[0].clientX;
|
||||
touchStartY.value = event.touches[0].clientY;
|
||||
|
||||
// Сбросить конечные точки
|
||||
// Сбросить конечные точки и время
|
||||
touchEndX.value = 0;
|
||||
touchEndY.value = 0;
|
||||
dragStartTime.value = 0; // Сбрасываем время для touch событий
|
||||
hasActuallyMoved.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
@ -515,25 +517,6 @@ const endDrag = () => {
|
||||
const handleCardClick = (event, user) => {
|
||||
console.log('[SwipeView] handleCardClick вызван для пользователя:', user.name, user._id);
|
||||
|
||||
// Проверяем, что это был именно клик, а не завершение drag/swipe операции
|
||||
const dragDuration = Date.now() - dragStartTime.value;
|
||||
const totalMovement = Math.sqrt(
|
||||
Math.pow(dragOffset.value.x || 0, 2) + Math.pow(dragOffset.value.y || 0, 2)
|
||||
);
|
||||
|
||||
console.log('[SwipeView] Проверка клика:', {
|
||||
hasActuallyMoved: hasActuallyMoved.value,
|
||||
totalMovement,
|
||||
dragDuration,
|
||||
dragOffset: dragOffset.value
|
||||
});
|
||||
|
||||
// Если было реальное перетаскивание или долгое удержание, не обрабатываем как клик
|
||||
if (hasActuallyMoved.value || totalMovement > 10 || dragDuration > 300) {
|
||||
console.log('[SwipeView] Клик проигнорирован - было перетаскивание');
|
||||
return;
|
||||
}
|
||||
|
||||
// Проверяем, что клик не был на элементах управления каруселью
|
||||
if (event.target.closest('.carousel-nav') ||
|
||||
event.target.closest('.carousel-dots') ||
|
||||
@ -542,6 +525,38 @@ const handleCardClick = (event, user) => {
|
||||
return;
|
||||
}
|
||||
|
||||
// Проверяем, что в данный момент не происходит перетаскивание
|
||||
if (isDragging.value || isPanning.value) {
|
||||
console.log('[SwipeView] Клик проигнорирован - идет перетаскивание');
|
||||
return;
|
||||
}
|
||||
|
||||
// Проверяем, что было реальное движение только если dragStartTime был установлен
|
||||
if (dragStartTime.value > 0) {
|
||||
const dragDuration = Date.now() - dragStartTime.value;
|
||||
const totalMovement = Math.sqrt(
|
||||
Math.pow(dragOffset.value.x || 0, 2) + Math.pow(dragOffset.value.y || 0, 2)
|
||||
);
|
||||
|
||||
console.log('[SwipeView] Проверка клика:', {
|
||||
hasActuallyMoved: hasActuallyMoved.value,
|
||||
totalMovement,
|
||||
dragDuration,
|
||||
dragOffset: dragOffset.value
|
||||
});
|
||||
|
||||
// Если было реальное перетаскивание, не обрабатываем как клик
|
||||
if (hasActuallyMoved.value || totalMovement > 10 || dragDuration < 300) {
|
||||
console.log('[SwipeView] Клик проигнорирован - было перетаскивание');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Сбрасываем все состояния перетаскивания для чистого клика
|
||||
dragStartTime.value = 0;
|
||||
hasActuallyMoved.value = false;
|
||||
dragOffset.value = { x: 0, y: 0 };
|
||||
|
||||
// Открываем полный профиль пользователя
|
||||
console.log('[SwipeView] Переход к профилю пользователя:', user.name, user._id);
|
||||
try {
|
||||
|
Loading…
x
Reference in New Issue
Block a user