schroda
6bf3e297ef
Open previous/next chapter at end of continuous pager via hotkey
...
For continuous pagers the chapter transition page is always visible regardless of the current "transitionPageMode".
However, this was not properly checked and thus, it wasn't considered to be visible and instead of opening the previous/next chapter, the transition page got set to be visible first and only with the second hotkey press did the chapter get opened
2024-12-30 14:12:11 +01:00
schroda
ce49084a89
Auto open next page after first change in single/double pager
2024-12-30 02:13:57 +01:00
schroda
8eae025d8f
Use "coerceIn" util function
2024-12-29 23:41:27 +01:00
schroda
530ae1578f
Prevent invalid values for "auto scroll speed"
...
The min/max limit was only acknowledged when the value was changed via MUIs step logic.
In case the number got inputted via keystrokes the limits did not get applied
2024-12-29 23:41:26 +01:00
schroda
d90767c71c
Add "increase/decrease auto scroll speed" hotkeys
2024-12-29 23:41:24 +01:00
schroda
a943d2f2bc
Extract logic from "ReaderViewer" into functions and hooks
2024-12-29 21:38:31 +01:00
schroda
9438a2f626
Unmount "ReaderNavBarDesktop" on exit
...
Re-rendering the component isn't too expensive and unmounting it improves the re-rendering caused by page changes since it doesn't get updated.
This removes ~7ms on a "current page" state update and ~25ms caused by the chapter update due to the "last read page" change
2024-12-29 21:38:31 +01:00
schroda
94ee7d4958
Improve "page spread page state" updates
...
Since "pagesToSpreadState" isn't part of the dependency array and also would decrease the render performance if it was (see reasoning of c79f7cc874 ), the array reference might be out of date and thus, the guard might not work correctly
2024-12-29 21:38:24 +01:00
schroda
c79f7cc874
Improve "page load state" updates
...
Changes of d6ff85fdd3 decreased the render performance due to the "onLoad" function changing and causing all pages to re-render.
2024-12-29 17:21:37 +01:00
schroda
aee42d7bb1
Adjust "MobileReaderProgressBar" active dragging styling
2024-12-28 04:06:03 +01:00
schroda
3185449816
Improve "MobileReaderProgressBar" progress bar click/drag handling
...
Convert clicks on the progress bar in such a way, that there is a "padding" around the page "dots".
Thus, e.g. even if the click was actually for page 1, if it is inside page 2 padding, it will behave like it was a click for page 2
2024-12-28 04:05:29 +01:00
schroda
bc14b68507
Cleanup progress bar interaction handling
2024-12-28 02:33:33 +01:00
schroda
6bae3aaf3a
Improve progress bar dragging detection
2024-12-28 02:33:06 +01:00
schroda
0c6872edb3
Improve progress bar rendering while dragging
2024-12-28 02:00:13 +01:00
schroda
347c88f240
Correctly check "page load state" before state update
2024-12-28 01:59:07 +01:00
schroda
c5630ca5ce
Reset "pageToScrollToIndex" after page selection
...
In case the current page changed after selecting a page, the previously selected page couldn't be selected again since the "pageToScrollToIndex" was still set to this page
2024-12-28 01:28:12 +01:00
schroda
a69447384b
Always open next page for auto scroll in single/double page mode
...
Depending on the reading direction, the previous page got opened instead of the next one.
2024-12-27 21:38:55 +01:00
schroda
3c57011f0c
Fix margin of double pages with set reader width
...
Depending on the set reader width, the auto margin of the images took effect and separated the double pages.
However, for double pages, only the margin left/right depending on the page should be set, to properly center the pages without a gap between them
2024-12-27 21:00:02 +01:00
schroda
89138fadde
Reserve only necessary space for "current page" text
2024-12-27 18:26:20 +01:00
schroda
d6ff85fdd3
Prevent unnecessary "page load state" updates
...
Only update state in case it has changed
2024-12-27 18:26:19 +01:00
schroda
3ca379c0f1
Properly update "StandardReaderProgressBar" slots on "progress bar position" change
...
"createProgressBarSlot" was never called in case the function reference changed but none of the passed arguments
2024-12-27 18:26:19 +01:00
schroda
052625a013
Adjust "MobileReaderProgressBar" styling
...
In case the current page is the first one, there will be now no visible progress shown anymore. The progress slider will now be exactly at the start of the progress bar.
2024-12-27 18:26:18 +01:00
schroda
3ae0207bed
Apply "auto scroll speed" limits to slider input
2024-12-27 18:26:17 +01:00
schroda
6dd6fd8c51
Reduce "auto scroll speed" quick setting size
2024-12-27 04:38:39 +01:00
schroda
7c0ce65683
Fix auto scroll related tsc issues
2024-12-27 03:36:34 +01:00
schroda
cff56c33e8
Prevent auto scroll direction invert for vertical reading mode
2024-12-27 03:10:51 +01:00
schroda
e2075a651e
Add "automatic scrolling"
2024-12-27 03:02:39 +01:00
schroda
6b0df5329b
Move "useHandleProgressDragging" to "ReaderControls"
2024-12-27 02:51:38 +01:00
schroda
506be54e72
Pass progress bar props per HOC
...
Some unused "reader page state" values which were passed as props caused unnecessary re-renders
2024-12-27 02:51:37 +01:00
schroda
d4939247bd
Update page "progress bar slot" styling based on load state
...
Regression 500ee42662
2024-12-27 02:51:36 +01:00
schroda
33e184ba18
Add "auto webtoon mode" option to reader
2024-12-27 02:51:35 +01:00
schroda
cfd5b78488
Fix unchangeable global reader settings
...
Regression 72809309e1
2024-12-26 02:47:37 +01:00
schroda
a2ac2971f6
Improve memoization of "MobileReaderProgressBar"
2024-12-26 01:41:36 +01:00
schroda
635f294184
Extract "ReaderProgressBarSlot" from "MobileReaderProgressBar"
2024-12-26 01:09:33 +01:00
schroda
500ee42662
Improve memoization of reader "progress bar slot" rendering
2024-12-25 23:51:17 +01:00
schroda
5220f8ca44
Prevent unnecessary "page spread state" updates
...
Only update state in case it has changed
2024-12-25 23:50:07 +01:00
schroda
f263422b1c
Extract "reader progress bar slot wrapper"
2024-12-25 22:32:31 +01:00
schroda
ef15788c13
Pass "transitionPageMode" to "ReaderTransitionPage"
...
Regression d67d6f7d28 which was never caught due to an error in the "withPropsFrom" HOC typing (fixed with 2e79f3f0db )
2024-12-25 17:14:52 +01:00
schroda
ae89a42ac4
Scroll to start of page on page change
...
Resets the scroll position for single/double page mode to the start of the opened page on a page change.
2024-12-25 02:59:53 +01:00
schroda
d67d6f7d28
Move "ReaderTransitionPage" setting props to "withPropsFrom" HOC
2024-12-25 02:38:36 +01:00
schroda
5dbf1aa8e0
Adjust ReaderChapterTransition text color
...
Text color was never adjusted based on the selected "reader background color"
2024-12-25 02:36:53 +01:00
schroda
7d93b7995a
Open reader overlay while error with long message is shown
2024-12-24 17:26:47 +01:00
schroda
4d162262b6
Maximize reader progress bar only when pages are loaded
...
It takes away space for the reader overlay to get opened while an error is shown.
2024-12-24 17:26:47 +01:00
schroda
72809309e1
Always register reader hotkeys
...
The hotkeys were never registered e.g. while loading or in case an error occurred
2024-12-24 17:26:45 +01:00
schroda
d3e8f713ab
Add elevation to reader mobile overlay
2024-12-23 02:57:34 +01:00
schroda
15baf1f7fb
Properly center reader mobile progress bar page "point"
2024-12-23 02:20:35 +01:00
schroda
b51d8e5f66
Fix reader mobile progress bar page "point" styling
...
The points representing a page were only visible on read pages (page < current page) and for all next pages it was basically invisible
2024-12-23 02:20:34 +01:00
schroda
64b0dc2646
Fix opening manga page from chapter transition page
...
Regression f5642af219
2024-12-23 01:58:59 +01:00
schroda
29dd9797a8
Hide "default settings" footnote in reader layout default settings
2024-12-23 01:06:53 +01:00
schroda
6001779434
Change reader background based on setting
...
Regression f5642af219
2024-12-22 22:03:29 +01:00