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
schroda
c227570b93
Fix closing desktop nav bar after change to none static
2025-01-17 01:26:08 +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
7818fb450d
Fix text color of active chapter in chapter list of reader
2025-01-17 01:26:06 +01:00
schroda
5391bc256d
Add "ying & yang" theme
2025-01-17 01:26:05 +01:00
schroda
f7b21b1d7f
Update "tree frog green" theme
2025-01-17 01:26:04 +01:00
schroda
c36a0f8d02
Update "orange juice" theme
2025-01-17 01:26:03 +01:00
schroda
0b9697ec29
Update "minty miracles" theme
2025-01-17 01:26:01 +01:00
schroda
7da4dc7d39
Update "mountain sunset" theme
2025-01-17 01:26:00 +01:00
schroda
a161aa663c
Update "rosegold" theme
2025-01-17 01:25:59 +01:00
schroda
254a8cb1a7
Update "lavender" theme
2025-01-17 01:25:58 +01:00
schroda
a22a4bf546
Switch to "colorSchemes" from "palette" API in mui theme
...
"colorSchemes" is the preferred api starting from mui v6
2025-01-17 01:25:55 +01:00
schroda
9255386b1c
Properly check if chapter should be deleted after reading it
...
In case the current chapter should get deleted after reading it, it only worked in case it was already marked as read due to checking the read status from the chapter itself instead of the chapter update patch input
2025-01-16 14:19:18 +01:00
schroda
92f64ef009
Handle single page chapters for download ahead
2025-01-16 14:07:21 +01:00
schroda
22011d4d6d
Support search by source id in library
2025-01-16 13:33:16 +01:00
schroda
a96bc2c1da
Delete chapter when read even if already marked as read
...
ReaderControls#useUpdateCurrentPageIndex:
On a page change the chapter update needs to be always queued since the deletion of downloaded chapters while reading logic is in the "ReaderService#updateChapter" function.
Thus, when the update is prevented here, this logic would never get triggered.
ReaderService#useUpdateChapter:
In case the read status or lastPageRead of a chapter did not change, the update was not triggered.
However, there might still be chapter downloads that need to be de deleted, which was never handled in such a case.
2025-01-16 13:22:13 +01:00
schroda
ef08799fc0
Render filtered chapters in ChapterList
...
Regression 257c0c8e10
2025-01-16 12:25:24 +01:00
schroda
5683c07712
Prevent "migrate dialog" from closing
...
Due to the scrollbar disappearing the dimension of the manga grid items changed which caused them to get unmounted and re-rendered again.
This then caused the dialog to get closed since the dialog is rendered in the manga grid item component
2025-01-13 03:26:07 +01:00
schroda
898fc6614f
Increase virtuoso grid viewport
2025-01-13 02:17:09 +01:00
schroda
74c61a5a29
Improve manga grid/list rendering
2025-01-13 01:29:40 +01:00
schroda
63a6cfcfb3
Add merge function for "DownloadStatus" "queue" field
2025-01-12 20:55:08 +01:00
schroda
e25aa98365
Do not update "download status" on "download updates"
...
For large download queues this makes the app unusable.
At the moment this is not needed anyway and once it is, it needs to be improved and only be done in the "download queue" page since the queue is only use there
2025-01-12 20:47:16 +01:00
schroda
7ed345cf87
Render "manga track dialog" only when opened
2025-01-12 20:28:24 +01:00
schroda
ba52e70dbb
Improve "Updates" render performance
2025-01-12 20:28:23 +01:00
schroda
97dba923b4
Improve "chapter list" render performance
...
affected components:
- ChapterList
- ReaderChapterList
2025-01-12 20:28:22 +01:00
schroda
e7c3c8609e
Improve "DownloadQueue" render performance
2025-01-12 20:28:21 +01:00
schroda
10a77722cc
Remove outdated "download types" from apollo cache
2025-01-12 20:28:20 +01:00
schroda
77973df0ff
Show non downloading state while partially downloaded
...
The state wasn't shown in case the chapter was partially downloaded
2025-01-12 20:28:20 +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
f7b26767a3
Extract Updates chapter card
2025-01-12 15:02:33 +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
abc3908b1e
Only commit metadata changes of applied migrations
...
One of the errors that were caused by this was that everytime a new migration was applied, keys of previous migrations got deleted
2025-01-11 16:00:16 +01:00
schroda
64e06b2966
Handle ".5" chapters as full chapter numbers for missing chapter detection
...
Chapter numbers can change from e.g. "1" to "2.1" and in that case missing chapters were detected.
However, with these weird chapter numbers it's not clear if a chapter is actually missing or not, thus, they should not cause a missing chapter warning
2025-01-11 13:58:46 +01:00
schroda
6c8df33a13
Delete outdated metadata after committing updated ones
...
In case the outdated metadata get successfully deleted and the updated metadata fail to commit, metadata gets lost, due to not being able to apply the migrations again since the outdated metadata have already been deleted
2025-01-11 03:24:15 +01:00
schroda
338fb96de3
Prevent possible TypeError
2025-01-11 03:14:41 +01:00
schroda
07aeb53fa1
Commit metadata value migrations
2025-01-11 03:12:48 +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
f032f971ac
Fix position of download status in updates page
2025-01-10 17:26:41 +01:00
schroda
757cf599d6
Enable mouse drag scrolling for all reading modes
2025-01-10 02:07:24 +01:00
schroda
afc3a23ae0
Always scroll to start of page on page change
...
By the time the scroll area got scrolled to the start of the visible pages, the previous/next page wasn't yet shown and thus, the scrollable area wasn't updated yet.
Thus, in case the scrollable area grew in width due to the page change, the start never got scrolled into view due to triggering the logic too early.
2025-01-10 02:03:31 +01:00
schroda
e4e38e74b3
Handle nav bar safe area top inset
...
The default nav bar icons were possibly slightly hidden under the top bar in case there was a "safe area top inset"
2025-01-09 23:03:29 +01:00
schroda
a423d11442
Prevent reader pages from getting cut off on small screens
...
In case the pages were larger in width then the screen, they got cut off and were not fully viewable.
2025-01-09 21:41:38 +01:00
schroda
288fee590d
Extract "apply reader width" check into function
2025-01-09 02:11:44 +01:00
schroda
28eb18f88c
Prevent custom scrollbar on iOS
...
While iOS does not support customizing the scrollbar, it seems there is a bug when the width and/or height gets set.
(see MediaQuery#getScrollbarSize) When inserting an empty div with forced scrollbars and calculating the scrollbar size, for some reason on iOS it has a scrollbar that affects the available size, which is not possible.
2025-01-09 00:46:25 +01:00
schroda
6bbaee6d8d
Replace deprecated "apple-mobile-web-app-capable" meta tag
2025-01-09 00:28:19 +01:00
schroda
11765c021a
Use new icon
2025-01-09 00:27:28 +01:00
schroda
d66b3eb38d
Handle main content screen right safe area
2025-01-08 23:59:26 +01:00
schroda
33162e70b0
Center delete icon in mutable list setting
2025-01-08 00:34:51 +01:00
schroda
054e837139
Move "readerType" "Webtoon" value migration to 3rd migration
...
Does not matter since it will only affect stable users which haven't had these migrations applied yet anyway
2025-01-06 12:51:43 +01:00
schroda
feebd93555
Properly delete metadata during key deletion migration
2025-01-06 12:39:39 +01:00
schroda
6e0d1cfd3d
Simplify metadata app key prefix migration
2025-01-06 12:23:41 +01:00
schroda
3d7a4146e4
Handle metadata key deletion early exit
...
In case no keys had to be deleted it always returned an empty object which broke the whole metadata migration and resulted in the final metadata to always fall back to the default values
2025-01-06 01:58:49 +01:00
schroda
9f42b75eee
Prevent applying already applied metadata migrations again
...
The "appliedMigrationId" was converted to it's index of the "METADATA_MIGRATIONS" and then was compared to the "migration id" which starts at 1 instead of 0
2025-01-06 01:45:46 +01:00
schroda
724319b6c5
Only commit metadata migration changes of newly applied migration
...
Changes got commited everytime regardless off if the migration had already been applied
2025-01-06 01:42:42 +01:00
schroda
d87fa3721e
Migrate old reader settings II
2025-01-05 15:29:56 +01:00
schroda
05ce572c67
Add logic to delete metadata on migration
2025-01-05 15:29:56 +01:00
schroda
bb473276a7
Handle multiple prefixes in metadata key migration
...
Was never updated after the change that made it possible that metadata can have multiple prefixes (e.g. device names)
2025-01-05 15:29:55 +01:00
schroda
ab2b1b2218
Handle multiple prefixes in metadata value migration
...
Was never updated after the change that made it possible that metadata can have multiple prefixes (e.g. device names)
2025-01-05 15:29:54 +01:00
schroda
d657ad3999
Commit new metadata after migration
2025-01-05 15:29:51 +01:00
schroda
040584989e
Migrate metadata once instead of when reading a value
2025-01-05 14:54:37 +01:00