Pass progress bar props per HOC

Some unused "reader page state" values which were passed as props caused unnecessary re-renders
This commit is contained in:
schroda
2024-12-26 17:38:12 +01:00
parent d4939247bd
commit 506be54e72
4 changed files with 39 additions and 21 deletions

View File

@@ -32,6 +32,7 @@ import { ReaderControls } from '@/modules/reader/services/ReaderControls.ts';
import { withPropsFrom } from '@/modules/core/hoc/withPropsFrom.tsx';
import { useReaderProgressBarContext } from '@/modules/reader/contexts/ReaderProgressBarContext.tsx';
import { ReaderProgressBarSlotWrapper } from '@/modules/reader/components/overlay/progress-bar/ReaderProgressBarSlotWrapper.tsx';
import { userReaderStatePagesContext } from '@/modules/reader/contexts/state/ReaderStatePagesContext.tsx';
const BaseReaderProgressBar = ({
totalPages,
@@ -225,6 +226,18 @@ export const ReaderProgressBar = withPropsFrom(
() => ({
direction: ReaderService.useGetThemeDirection(),
}),
userReaderStatePagesContext,
ReaderService.useSettingsWithoutDefaultFlag,
],
[
'isDragging',
'setIsDragging',
'openPage',
'direction',
'pages',
'pageLoadStates',
'totalPages',
'currentPageIndex',
'progressBarPosition',
],
['isDragging', 'setIsDragging', 'openPage', 'direction'],
);