Commit Graph

53 Commits

Author SHA1 Message Date
schroda
3dcdca7166 Reduce image rerenders in continuous reading modes on page change
In continuous reading modes the pages are always rendered regardless of if they are visible or not. This is the case to prevent layout shifts when prepending pages while scrolling up.

However, this means that a pages "load priority" and its "should load" flag changes everytime the current page changes, which causes unnecessary rerenders.
The "load priority" and "should load" flag do not matter once a page has been loaded and therefore should stay consistent once loaded.
2025-11-28 23:09:36 +01:00
schroda
d0735365ff Fix first visible page detection
50a6b72716 did not properly fix the detection and broke it for other reader settings.
2025-11-27 02:38:09 +01:00
schroda
fe4bfd922e Queue image requests per source
If http protocol is h2 or newer, allow:
 - 5 requests per source
 - unlimited local source requests
2025-11-23 00:08:23 +01:00
schroda
704d3b191f Flag event listeners as passive 2025-11-22 19:14:43 +01:00
schroda
48b57c4a74 Simplify reader visible page detection 2025-11-17 02:19:36 +01:00
schroda
36477d1c95 Simplify scroll page into view inline alignment determination 2025-11-17 01:37:32 +01:00
schroda
50a6b72716 Fix first visible page detection in RTL + continuous horizontal mode 2025-11-17 01:24:58 +01:00
schroda
d093fe0281 Prevent default action on hotkey by default 2025-11-16 22:32:18 +01:00
schroda
64d5f3b8e1 Fix preserving current page on "reader width" change
Preservation triggered on every setting change because the object instance changed
2025-11-16 22:26:06 +01:00
schroda
bab55bafdb Preserve reader current page on "reader width" change 2025-11-13 01:35:46 +01:00
schroda
7b89fa10c5 Fix reader current page preservation on window resize 2025-11-13 01:35:46 +01:00
schroda
2510d11888 Preserve reader current page on "page scale" setting change 2025-11-13 01:35:45 +01:00
schroda
197d55f819 Rename "useReaderHorizontalModeInvertXYScrolling" to reflect actual behavior
The Y scroll direction gets mapped to the X direction. And the horizontal direction gets inverted based on the reading direction.
2025-11-13 01:35:45 +01:00
schroda
88f1ef7384 Improve reader horizontal mode scroll Y to X re-mapping
When scrolling really fast, the delta value could increase, which leads to incorrect trackpad detection, because the delta value is not consistent over consecutive scroll events
2025-11-13 01:35:44 +01:00
schroda
02621dec98 Introduce "awaitable-component" 2025-11-03 21:45:53 +01:00
schroda
f539afb404 Introduce "koration" duration api 2025-10-14 21:14:52 +02:00
schroda
b795f98766 Replace "useCategorySelect" with "GlobalDialogManager" 2025-10-04 14:51:35 +02:00
schroda
9329ef5fdc Improve logic to show dialog outside of components 2025-10-04 14:49:00 +02:00
schroda
741426173a Prevent horizontal scrollbar on viewport width increase
When increasing the window, the main reader container did not immediately reflect the change and was still smaller than the available width.
In case the viewed pages were filling the full width, this then caused the horizontal scrollbar to appear until the resize action was finished.
2025-09-27 17:40:31 +02:00
schroda
d7690f9a36 Reduce rerenders on reader overlay visibility change 2025-09-27 17:40:30 +02:00
schroda
b1babc9dd1 Preserve correct page index during reader resize
Ensure the restored page index is based on the page index at the start of a resize event to maintain consistency.
At least in the continuous horizontal mode, it was possible to sometimes cause the page to change while resizing.
2025-09-27 17:40:29 +02:00
schroda
1c526b3feb Prevent reader page preservation in none continuous modes 2025-09-27 13:51:26 +02:00
schroda
ab1521fb81 Fix editing global reader settings
Regression 433dc17c35
2025-09-26 23:27:16 +02:00
schroda
a2d7091712 Remove "forwardRef" usage 2025-09-25 00:20:10 +02:00
schroda
f37d7e892a Fix tsc issues 2025-09-22 17:58:28 +02:00
schroda
b6d7f6da5d Add zustand dev tools 2025-09-22 01:10:36 +02:00
schroda
f6b94c838b Fix reset of reader store
After the slice states got reset, the base reset function just reverted all those resets and only reset the base states in the store (manga, scrollbar, ...)
2025-09-22 01:10:35 +02:00
schroda
525173e05e Add dedicated store access util functions
Makes it easier to find the specific store slice usage
2025-09-21 01:16:59 +02:00
schroda
ed488f76dd Always use "useShallow" for store selection 2025-09-21 01:16:57 +02:00
schroda
5730690ae6 Simplify ReaderControls#useHandleClick 2025-09-21 01:16:53 +02:00
schroda
ca5920919e Simplify ReaderControls#useOpenPage 2025-09-21 01:16:51 +02:00
schroda
f5c7379fc4 Simplify ReaderControls#useOpenChapter 2025-09-21 01:16:49 +02:00
schroda
1c0b982bae Remove unnecessary TFunction parameter 2025-09-21 01:16:47 +02:00
schroda
19e45424ae Make react router routing possible outside components 2025-09-21 01:16:44 +02:00
schroda
ed53aff071 Extract "reader chapters store slice" into file 2025-09-21 01:16:39 +02:00
schroda
9f5db5496f Extract "reader pages store slice" into file 2025-09-21 01:16:36 +02:00
schroda
6da8a3fd87 Move reader store in sub dir 2025-09-21 01:16:33 +02:00
schroda
fb70d89940 Move reader "tap zone state" to "reader store" 2025-09-21 01:16:30 +02:00
schroda
f60b537115 Move reader "progress bar state" to "reader store" 2025-09-21 01:16:28 +02:00
schroda
98ec5257b9 Move reader "settings state" to "reader store" 2025-09-21 01:16:26 +02:00
schroda
5177f9efdc Move reader "chapters state" to "reader store" 2025-09-21 01:16:25 +02:00
schroda
bada26ead6 Move reader "pages state" to "reader store" 2025-09-21 01:16:22 +02:00
schroda
dabe50754f Move reader "auto-scroll state" to "reader store" 2025-09-21 01:16:17 +02:00
schroda
e68cb65874 Move reader "overlay state" to "reader store" 2025-09-21 01:16:15 +02:00
schroda
9bedec7115 Rename "reader scrollbar state" properties 2025-09-21 01:16:13 +02:00
schroda
4cc5821ead Move reader "scrollbar state" to "reader store" 2025-09-21 01:16:10 +02:00
schroda
433dc17c35 Move reader "manga state" to "reader store" 2025-09-21 01:16:04 +02:00
schroda
4e30081ed8 Move reader "pages" state to base reader types 2025-09-21 01:16:01 +02:00
schroda
403cab7d80 Fix deletion of chapters while reading logic
- Consider duplicated chapters in "should delete chapter" check
- Check each duplicate if it can be deleted
2025-08-25 02:06:23 +02:00
schroda
9e5af57a5f Move "core" folder out of "features" into "base" 2025-08-16 15:44:17 +02:00