Commit Graph

92 Commits

Author SHA1 Message Date
schroda
a1cdc785c1 Prevent scrolling while dragging on the reader progress bar
On e.g., iOS changing the current page via dragging the progress bar caused the reader to scroll, which made the progress dragging act weirdly
2025-04-27 01:05:25 +02:00
schroda
3f93549f34 Update to react v19 2025-04-18 21:45:00 +02:00
schroda
e3934545b0 Change "large" IconButtons to default size 2025-03-28 19:05:21 +01:00
schroda
62bd4fdfb2 Require library entry removal confirmation in reader 2025-03-27 19:49:50 +01:00
schroda
3ca4aa2eff Remove "Settings" from setting page titles 2025-03-17 12:07:02 +01:00
schroda
0b79f1f82a Extract reader exit button 2025-02-17 03:56:40 +01:00
schroda
95fa09a94a Extract reader bookmark button 2025-02-17 03:51:07 +01:00
schroda
ca7fba0757 Add library button to "ReaderOverlayHeaderMobile" 2025-02-17 03:45:50 +01:00
schroda
419181efa9 Add add/remove to/from library button to reader desktop quick actions 2025-02-17 03:26:44 +01:00
schroda
050094c991 Update styling of "manga open source" button 2025-02-08 16:16:32 +01:00
schroda
f633059083 Rename "CustomIconButton" to "CustomButton" 2025-02-08 16:03:37 +01:00
schroda
45b4874348 Remove unnecessary keys 2025-02-03 17:17:35 +01:00
schroda
8ddb259c82 Prevent tooltip on disabled button warning 2025-02-02 00:54:03 +01:00
schroda
b7fc1ae6ff Extract theme context logic into its own provider 2025-01-25 19:22:24 +01:00
schroda
ca1c95cdfe Show chapter transition warning for mobile progress bar open chapter buttons 2025-01-21 19:19:20 +01:00
schroda
8e1d9b3106 Change reader non-static nav bar icon 2025-01-17 01:38:19 +01:00
schroda
d95396ecb0 Consider reader nav bar width and scrollbars for auto scrollbar position 2025-01-17 01:26:09 +01:00
schroda
9ac1009e22 Properly update reader desktop nav bar download button
Did not update according to download updates due to not subscribing to the fragment changes

Regression 257c0c8e10
2025-01-17 01:26:07 +01:00
schroda
97dba923b4 Improve "chapter list" render performance
affected components:
- ChapterList
- ReaderChapterList
2025-01-12 20:28:22 +01:00
schroda
257c0c8e10 Move download status subscription to "ChapterCard"
Only re-render chapters whose download status has changed instead of the whole list everytime a download status change was received
2025-01-12 20:28:18 +01:00
schroda
57f73636a0 Read chapter download status from cache
Instead of getting the whole download status, which contains all queued/active downloads, the download status should be read from the cache for only the required chapters
2025-01-12 14:09:10 +01:00
schroda
7901961821 Add "auto" progress bar position
Automatically choose the progress bar position based on the available space.
Previously it was only possible to automatically switch from a horizontal to a vertical position but not the other way around
2025-01-11 03:09:10 +01:00
schroda
62155005ab Apply auto vertical progress bar for BOTTOM position only
In case "auto vertical position" is not "OFF" but the main position is not "BOTTOM", the auto mode still should be considered to be "OFF"
2025-01-02 22:22:31 +01:00
schroda
52f5415c9f Memoize mobile progress bar position related styling
Only really relevant for the "progress bar slot" prop to prevent the slots from unnecessary re-rendering, since depending on the total pages, this can impact the render performance on page changes heavily
2025-01-02 22:22:30 +01:00
schroda
b5a0ec7371 Ignore reading direction for vertical progress bar
The page change handling of the progress bar was inverted while RTL was the set readers reading direction.
However, this is only relevant for the horizontal progress bar
2025-01-02 21:48:23 +01:00
schroda
f90e4597f8 Make mobile progress bar position changeable 2025-01-02 21:48:02 +01:00
schroda
92892e6604 Optionally adjust progress bar position based on available size 2025-01-02 21:26:19 +01:00
schroda
4aa144cb25 Make minimized standard progress bar gaps transparent 2025-01-02 14:43:01 +01:00
schroda
8594a7b178 Increase reserved "current page" text for double pager
For the double pager the current page text needs more reserved space since two pages are displayed at once which changes the current page text to "<page1>-<page2>" instead of just "<page1>"
2024-12-31 04:38:11 +01:00
schroda
7c98bab43b Prevent TypeError and incorrect state updates for "pageLoadStates"
Page load state updates of an already closed chapter caused TypeErrors or incorrect state updates.
2024-12-30 21:03:10 +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
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
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
89138fadde Reserve only necessary space for "current page" text 2024-12-27 18:26:20 +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
6dd6fd8c51 Reduce "auto scroll speed" quick setting size 2024-12-27 04:38:39 +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
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
f263422b1c Extract "reader progress bar slot wrapper" 2024-12-25 22:32:31 +01:00