diff --git a/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts b/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts index 13328233..dabf402c 100644 --- a/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts +++ b/src/features/reader/auto-scroll/hooks/useReaderAutoScroll.ts @@ -8,20 +8,21 @@ import { useEffect } from 'react'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; +import { getReaderAutoScrollStore, useReaderAutoScrollStore } from '@/features/reader/stores/ReaderStore.ts'; + +export const useReaderAutoScroll = (isOverlayVisible: boolean, isStaticNav: IReaderSettings['isStaticNav']): void => { + const { isPaused } = useReaderAutoScrollStore((state) => ({ + isPaused: state.autoScroll.isPaused, + })); -export const useReaderAutoScroll = ( - isOverlayVisible: boolean, - isAutoScrollPaused: boolean, - pauseAutoScroll: () => void, - resumeAutoScroll: () => void, - isStaticNav: IReaderSettings['isStaticNav'], -): void => { useEffect(() => { + const { pause, resume } = getReaderAutoScrollStore(); + if (isOverlayVisible && !isStaticNav) { - pauseAutoScroll(); + pause(); return; } - resumeAutoScroll(); - }, [isOverlayVisible, isAutoScrollPaused, isStaticNav]); + resume(); + }, [isOverlayVisible, isPaused, isStaticNav]); }; diff --git a/src/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx b/src/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx index 054c4773..92d72934 100644 --- a/src/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx +++ b/src/features/reader/auto-scroll/settings/quick-setting/ReaderNavBarDesktopAutoScroll.tsx @@ -19,7 +19,7 @@ import { plural } from '@lingui/core/macro'; import { IReaderSettings } from '@/features/reader/Reader.types.ts'; import { AUTO_SCROLL_SPEED } from '@/features/reader/settings/ReaderSettings.constants.tsx'; import { coerceIn } from '@/lib/HelperFunctions.ts'; -import { useReaderAutoScrollStore } from '@/features/reader/stores/ReaderStore.ts'; +import { getReaderAutoScrollStore, useReaderAutoScrollStore } from '@/features/reader/stores/ReaderStore.ts'; export const ReaderNavBarDesktopAutoScroll = ({ autoScroll, @@ -28,10 +28,7 @@ export const ReaderNavBarDesktopAutoScroll = ({ setAutoScroll: (newAutoScroll: IReaderSettings['autoScroll'], commit: boolean) => void; }) => { const { t } = useLingui(); - const { isActive, toggleActive } = useReaderAutoScrollStore((state) => ({ - isActive: state.autoScroll.isActive, - toggleActive: state.autoScroll.toggleActive, - })); + const isActive = useReaderAutoScrollStore((state) => state.autoScroll.isActive); const updateTimeout = useRef(undefined); @@ -40,7 +37,7 @@ export const ReaderNavBarDesktopAutoScroll = ({