Commit Graph

2421 Commits

Author SHA1 Message Date
schroda
155f58b92d Consider only relevant element intersection for open prev/next chapter
In the "vertical mode" intersection changes for the left or right side of the element do not matter.
Same for "horizontal mode" the other way around.

If not handled accordingly, it would cause unwanted chapter changes.
2025-02-05 15:17:46 +01:00
schroda
9b58a94f98 Fix image preload amount for current chapter
For the current chapter the "pages to render" always include the current page
2025-02-05 01:27:42 +01:00
schroda
19f2d99345 Center "ReaderChapterViewers"
The viewers can have different sizes which caused theme to not be properly centered.

E.g. for the "vertical mode" in case "chapter 1" is greater in width than "chapter 2", the pages of "chapter 2" were not correctly centered due to the "viewers" having different widths.
2025-02-05 00:34:44 +01:00
schroda
636f48107f Prevent "ReaderChapterViewer" from overlapping each other
Seems like not all browsers handle

width/height: 100%
min-width/min-height: fit-content

correctly.
the "min" setting just never applies and the size is stuck at 100%.
2025-02-04 23:11:34 +01:00
schroda
36cb545156 Properly detect scrollbar for mouse drag scrolling 2025-02-04 22:35:01 +01:00
schroda
2ec42d962a Remove context usage from ReaderPage
In case many chapters are rendered, even just the HOC wrapper component re-render due to the context change increases the render time.

Thus, getting rid of these HOC wrapper re-renders by moving the context usage up to the ReaderViewer decreases the render time.
2025-02-03 17:17:35 +01:00
schroda
b01b23b069 Remove context usage from ReaderChapterViewer
In case many chapters are rendered, even just the HOC wrapper component re-render due to the context change increases the render time.

Thus, getting rid of these HOC wrapper re-renders by moving the context usage up to the ReaderViewer decreases the render time.
2025-02-03 17:17:35 +01:00
schroda
4a9d2903b8 Add infinite scroll to reader 2025-02-03 17:17:35 +01:00
schroda
4789a74785 Add option to open specific chapter via "useOpenChapter" 2025-02-03 17:17:35 +01:00
schroda
45b4874348 Remove unnecessary keys 2025-02-03 17:17:35 +01:00
schroda
c79ccf3523 Improve memoization of "ReaderTransitionPage"
- use chapter properties instead of chapter object
- only pass "handleBack" in case the transition page is for the first or last chapter
2025-02-03 17:17:35 +01:00
schroda
d73bb31df9 Pass non "source props" to "prop source creators" in "withPropsFrom" HOC 2025-02-03 17:17:35 +01:00
schroda
91e8b70d35 Rename "initialChapter" to "chapterForDuplicatesHandling" 2025-02-03 17:17:35 +01:00
schroda
a80e8885fb Introduce "getReaderOpenChapterLocationState" function 2025-02-03 17:17:35 +01:00
schroda
a6f015d5e3 Add comment 2025-02-03 16:30:10 +01:00
schroda
6d47ab05c1 Improve mouse drag detection
Ignore mouse movements in directions where the element does not have a content overflow and thus, scrolling is not possible
2025-02-03 16:30:08 +01:00
schroda
441cdaa6e7 Handle line breaks in tracker search entry summaries 2025-02-03 16:30:07 +01:00
schroda
8ddb259c82 Prevent tooltip on disabled button warning 2025-02-02 00:54:03 +01:00
schroda
dc9f6fc863 Fix "Uncaught ResizeObserver loop completed with undelivered notifications" error
Was caused due to creating a temporary div inside a resize observer callback.
By moving the temp div outside the viewport, it does not the trigger resize observer again
2025-01-31 01:54:39 +01:00
schroda
2c4a17b32f Ensure to always have one page in reader
Current logic requires at least one page.
In case a chapter did not have any page a TypeError occured
2025-01-30 00:19:05 +01:00
schroda
3698c19aba Properly enable cors for images by default 2025-01-26 17:18:27 +01:00
schroda
a81c3c6afa Use dynamic color schemes on manga page 2025-01-26 04:21:00 +01:00
schroda
25e3fc7808 Load images with cors allowed
Without allowing cors it is e.g. not possible to extract colors from an image
2025-01-26 04:20:59 +01:00
schroda
2579ba92a3 Use "img" element instead of css "background image"
CSS does not support loading image with cors allowed
2025-01-26 03:49:51 +01:00
schroda
a56fd08bf6 Include http status on rest fetch failure 2025-01-26 03:30:35 +01:00
schroda
2a4afd642d Set proper color for active chapter card in reader 2025-01-26 03:29:08 +01:00
schroda
5d52fc4455 Inherit color for missed icon buttons 2025-01-26 03:26:24 +01:00
schroda
b7fc1ae6ff Extract theme context logic into its own provider 2025-01-25 19:22:24 +01:00
schroda
ce6722d584 Male library "grid layout" setting global 2025-01-25 00:12:56 +01:00
schroda
b60b799649 Fix auto webtoon mode detection
E.g. in case the entry has a tag "Webtoons" this never triggered the auto webtoon mode due to "Webtoons" not being in string "webtoon".
2025-01-23 20:46:42 +01:00
schroda
b67c9c4e44 Fix reader chapter transition page positioning in double page mode
Regression 649a17c2ae
2025-01-23 20:36:19 +01:00
schroda
e5b9767daa Fix page width with static nav bar
Regression 7fad96dab7
2025-01-23 14:10:13 +01:00
schroda
c42e51b6f9 Infer server port only in dev env 2025-01-23 13:15:08 +01:00
schroda
2cfbaf8148 Use "useNavBarContext" hook everywhere 2025-01-23 13:15:06 +01:00
schroda
480eaf5a08 Extract app page history from nav bar context 2025-01-23 13:14:58 +01:00
schroda
9b883a5170 Fix chapter list range selection 2025-01-21 19:23:11 +01:00
schroda
c47889c2e3 Extract reader pages context default values 2025-01-21 19:19:31 +01:00
schroda
eeb811bf2d Handle flex "column-reverse" for mouse drag scrolling inertia 2025-01-21 19:19:29 +01:00
schroda
18a46c0a28 Handle flex "row-reverse" for mouse drag scrolling inertia 2025-01-21 19:19:28 +01:00
schroda
649a17c2ae Move "ReaderTransitionPage" to "ReaderViewer" 2025-01-21 19:19:27 +01:00
schroda
db7aad58ec Convert reader image placeholder styling to vw/vh 2025-01-21 19:19:25 +01:00
schroda
7fad96dab7 Convert reader image styling to vw/vh
Preparation for infinite scroll, since there will be a wrapper which fits its content in width and height, thus, percentage based dimension won't work anymore
2025-01-21 19:19:22 +01:00
schroda
da600bcdec Extract reader pages wrapper styling 2025-01-21 19:19:21 +01:00
schroda
ca1c95cdfe Show chapter transition warning for mobile progress bar open chapter buttons 2025-01-21 19:19:20 +01:00
schroda
b7cb245abc Rename "getImageWidthStyling" to "getReaderImageStyling" 2025-01-18 23:13:56 +01:00
schroda
7f649296b9 Extract logic from "Reader" into hooks 2025-01-18 22:41:54 +01:00
schroda
19f83d5237 Extract hooks from utils file 2025-01-18 22:07:59 +01:00
schroda
3d120429ac Only set chapter card icon button color in reader mode 2025-01-17 16:12:15 +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