From 2fc7bc4744f313dff822d7e98c64229b91238fa6 Mon Sep 17 00:00:00 2001 From: Huang Xin Date: Fri, 14 Mar 2025 15:43:50 +0800 Subject: [PATCH] fix: don't handle iframe wheel events for scrolled mode, closes #604 (#605) --- .../src/app/reader/hooks/useIframeEvents.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/apps/readest-app/src/app/reader/hooks/useIframeEvents.ts b/apps/readest-app/src/app/reader/hooks/useIframeEvents.ts index 1e09e0e6..c42bd773 100644 --- a/apps/readest-app/src/app/reader/hooks/useIframeEvents.ts +++ b/apps/readest-app/src/app/reader/hooks/useIframeEvents.ts @@ -58,17 +58,13 @@ export const useClickEvent = ( } } } - } else if (msg.data.type === 'iframe-wheel') { - // FIXME: conlict with the touchpad scroll event on macOS - if (viewSettings.scrolled && appService?.osPlatform === 'macos') return; + } else if (msg.data.type === 'iframe-wheel' && !viewSettings.scrolled) { + // The wheel event is handled by the iframe itself in scrolled mode. const { deltaY } = msg.data; - const fontSize = viewSettings?.defaultFontSize ?? 16; - const lineHeight = viewSettings?.lineHeight ?? 1.6; - const distance = fontSize * lineHeight * 3; if (deltaY > 0) { - viewRef.current?.next(viewSettings.scrolled ? distance : 1); + viewRef.current?.next(1); } else if (deltaY < 0) { - viewRef.current?.prev(viewSettings.scrolled ? distance : 1); + viewRef.current?.prev(1); } } else if (msg.data.type === 'iframe-mouseup') { if (msg.data.button === 3) {