diff --git a/src/components/shared/ImageWithFallback.module.css b/src/components/shared/ImageWithFallback.module.css index 52e142e..f89eb6e 100644 --- a/src/components/shared/ImageWithFallback.module.css +++ b/src/components/shared/ImageWithFallback.module.css @@ -7,7 +7,6 @@ display: flex; justify-content: center; align-items: center; - touch-action: pan-y; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; @@ -19,6 +18,8 @@ object-fit: cover; transition: opacity 0.3s ease; pointer-events: none; + -webkit-user-drag: none; + user-drag: none; } .hidden { diff --git a/src/components/shared/ImageWithFallback.tsx b/src/components/shared/ImageWithFallback.tsx index dc8fc2b..4ca3ae1 100644 --- a/src/components/shared/ImageWithFallback.tsx +++ b/src/components/shared/ImageWithFallback.tsx @@ -114,12 +114,6 @@ const ImageWithFallback: React.FC = ({ className={`${styles.container} ${className}`} onClick={handleClick} onContextMenu={onContextMenu} - onTouchStart={(e) => { - // Предотвращаем стандартное поведение только если не в режиме удаления - if (!isDeleteMode && onContextMenu) { - e.preventDefault(); - } - }} > {/* Показываем индикатор загрузки, если изображение загружается */} {loading && ( diff --git a/src/screens/Gallery.module.css b/src/screens/Gallery.module.css index 5d20484..acc04f8 100644 --- a/src/screens/Gallery.module.css +++ b/src/screens/Gallery.module.css @@ -20,6 +20,8 @@ -webkit-overflow-scrolling: touch; /* Для плавного скролла на iOS */ transform: translateY(var(--pull-distance, 0px)); transition: transform 0.3s ease-out; + overscroll-behavior: contain; + will-change: transform; } .refreshIndicator { diff --git a/src/screens/Gallery.tsx b/src/screens/Gallery.tsx index 1ebe9f8..bbb50b4 100644 --- a/src/screens/Gallery.tsx +++ b/src/screens/Gallery.tsx @@ -226,7 +226,10 @@ const GalleryScreen: React.FC = () => { }, [pendingTasks.length]); // Зависимость от количества задач return ( -
+
e.preventDefault()} + >