Commit Graph

42 Commits

Author SHA1 Message Date
schroda
7f649296b9 Extract logic from "Reader" into hooks 2025-01-18 22:41:54 +01:00
schroda
afeb0f9aca Correctly check if chapter exists
The wrong chapter list was used.
"chapters" is the filtered list of chapters, which e.g. doesn't contain duplicated chapters.
This caused the "chapter source order" to potentially be higher than the total chapters of the manga.

The end result of this was that the fetched state of the pages wasn't properly detected causing errors due to rendering the reader before it was in the correct state
2025-01-04 15:58:33 +01:00
schroda
87a1a67880 Use static hide timeout for all reader setting previews
The default timeout of "notistack" is 5s by default, however, this makes it more clear and also prevents any behaviour changes in the future, in case the default timeout gets changed
2025-01-02 03:22:25 +01:00
schroda
c2c4115c9c Reset reader settings state on exit 2024-12-31 14:52:50 +01:00
schroda
7f04f1c860 Consider unset reader chapter as still loading
In case the "currentChapter" is undefined, it means that the state has not been set yet.
In case the "currentChapter" does not exist, it would be set to "null".
2024-12-31 14:52:49 +01:00
schroda
83e8a5fec1 Correctly check if reader chapter exists
As explained in c70287363a8e9308fc294baf83c5656a21a479b1, the "chapterSourceOrder" does not start at 0, thus, in case it's the last known chapter, "doesChapterExist" was always false due to subtracting 1 of the total chapters
2024-12-31 14:52:48 +01:00
schroda
899364ac85 Use proper name for reader url chapter "index" param
It's not the index of the chapter but the source order, which is starting at 1 and not 0
2024-12-31 14:52:47 +01:00
schroda
d885b4904e Render pages only once reader settings have been set
For the reader to be ready it's necessary that the settings not only have been loaded but also that the settings context is properly set
2024-12-31 02:46:04 +01:00
schroda
283bc1f706 Wait till reader setting are set to show previews
Sometimes the reader settings state took too long to get set and the previews were shown using the default settings first, since they are set as the default values of the reader settings context, and then again for the final settings
2024-12-31 02:45:12 +01:00
schroda
14044af1cd Reset "transition page mode" on reader exit 2024-12-31 02:21:36 +01:00
schroda
9b706d0c82 Delay "reading mode" and "tap zone" preview until reader is ready 2024-12-30 21:23:39 +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
1f3a3b6c39 Auto hide "tap zone layout" preview when opening reader 2024-12-30 19:41:49 +01:00
schroda
fa868ea222 Properly detect "reading mode" and "tap zone" changes for preview 2024-12-30 19:33:37 +01:00
schroda
45f46a05d0 Optionally show preview or "reading mode" and "tap zone overlay"
Shows a preview when opening the reader or when the values change
2024-12-30 16:51:39 +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
e2075a651e Add "automatic scrolling" 2024-12-27 03:02:39 +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
7d93b7995a Open reader overlay while error with long message 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
6001779434 Change reader background based on setting
Regression f5642af219
2024-12-22 22:03:29 +01:00
schroda
f5642af219 Use HOC for reader context usage 2024-12-22 00:48:18 +01:00
schroda
9e93a78a07 Use "getErrorMessage" everywhere 2024-12-21 23:27:03 +01:00
schroda
acab34debc Keep overlay closed on open reader 2024-12-20 13:06:11 +01:00
schroda
74f78e40d4 Remove custom profiles
Instead of "custom profiles" each "reading mode" acts as a profile and has its own settings
2024-12-16 15:50:28 +01:00
schroda
858c3b4bcf Display active profile for default value
In case the profile was not set and the default value got used, there was no indication of the active profile.
2024-12-12 02:09:19 +01:00
schroda
1525f93e41 Fix lint issue 2024-12-09 22:42:51 +01:00
schroda
3839b438eb Always show overlay on mount
There were cases where the overlay got closed instead of opened on the first mount
2024-12-09 13:25:20 +01:00
schroda
b9313fe168 Prevent invalid page request
The page of the default state was rendered which caused a request to the base url (e.g. http://localhost:4567).
2024-12-09 13:25:20 +01:00
schroda
107bbfddbb Reset state on unmount
Prevent TypeErrors due to invalid previous state
2024-12-09 13:25:19 +01:00
schroda
be0d1dbf30 Add logic to retry all errored pages 2024-12-09 02:38:37 +01:00
schroda
da0004de4a Base reader component 2024-12-09 02:38:37 +01:00
schroda
8e59763bba Delete deprecated reader files 2024-12-09 02:38:37 +01:00
schroda
e71c4b7ef1 Cleanup deprecated metadata after migration
- delete deprecated metadata
- save applied migration id per metadata holder
2024-11-04 00:11:01 +01:00
schroda
f704e5bc33 Move "Mangas.ts" types and constants to new files 2024-10-07 13:45:07 +02:00
schroda
84b9f8361d Fix RequestManager location
Was changed unintentionally
2024-10-06 13:45:22 +02:00
schroda
e7e1fbbc4e Move more core logic to new folder 2024-10-06 00:16:41 +02:00
schroda
babda1ea57 Move metadata files into new folder 2024-10-06 00:16:34 +02:00
schroda
a16fef0aab Move setting files into new folder 2024-10-06 00:16:31 +02:00
schroda
c0eabf8865 Move navigation-bar files into new folder 2024-10-06 00:01:51 +02:00
schroda
79341b7817 Move reader files into new folder 2024-10-05 23:35:17 +02:00