From a4b52a1ee819fac22f14b75c6424327727b393da Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Sun, 16 Feb 2025 22:47:52 +0100 Subject: [PATCH] feat: no vertical swipe on reader --- src/components/reader/BookReader.tsx | 2 +- src/components/reader/hooks/usePageNavigation.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/reader/BookReader.tsx b/src/components/reader/BookReader.tsx index 3cda016..18f708d 100644 --- a/src/components/reader/BookReader.tsx +++ b/src/components/reader/BookReader.tsx @@ -150,7 +150,7 @@ export function BookReader({ book, pages, onClose }: BookReaderProps) { ); return ( -
+
setShowControls(!showControls)} diff --git a/src/components/reader/hooks/usePageNavigation.ts b/src/components/reader/hooks/usePageNavigation.ts index 0f5ac7e..b2e42cb 100644 --- a/src/components/reader/hooks/usePageNavigation.ts +++ b/src/components/reader/hooks/usePageNavigation.ts @@ -101,9 +101,13 @@ export const usePageNavigation = ({ if (touchStartXRef.current === null) return; const touchEndX = event.changedTouches[0].clientX; + const touchEndY = event.changedTouches[0].clientY; const deltaX = touchEndX - touchStartXRef.current; + const deltaY = Math.abs(touchEndY - event.touches[0].clientY); const minSwipeDistance = 50; + if (deltaY > Math.abs(deltaX)) return; + if (Math.abs(deltaX) > minSwipeDistance) { if (deltaX > 0) { handlePreviousPage();