Commit Graph

2040 Commits

Author SHA1 Message Date
schroda
ce15e4db70 Add "cycle reading mode" hotkey 2024-12-17 16:25:46 +01:00
schroda
0771eabfcf Always open first/last page when closing chapter transition page
When e.g. enabling the "offset spread pages" setting the current page index was still the one of the secondary page, which then caused the first page to get skipped.
2024-12-17 02:07:08 +01:00
schroda
392998f4ca Prevent going to next page on "offset spread pages" change
Due to handling an "offset spread page" change as if the "double page" mode got activated, the index of the secondary page was set, which resulted in opening the next page
2024-12-17 01:55:11 +01:00
schroda
e4253633c9 Properly center images in "single page mode"
While the reader width was set images weren't centered correctly in the images wrapper element
2024-12-17 01:27:42 +01:00
schroda
38bcf4aecc Resize images properly to set reader width
Images didn't shrink in size while the reader width was set and the original size was used
2024-12-17 01:27:02 +01:00
schroda
33b756219b Apply passed "margin top" to image placeholder 2024-12-17 00:46:17 +01:00
schroda
3ec0cc94bb Rename "device theme" to "theme mode" 2024-12-16 23:05:50 +01:00
schroda
b4d295655f Remove outdated translation key 2024-12-16 22:58:52 +01:00
schroda
eddfba6b07 Remove unused translation keys 2024-12-16 22:40:04 +01:00
schroda
b9f512bb04 Remove "reader width" and "page gap" reset button in global settings 2024-12-16 22:23:40 +01:00
schroda
b9ea7abe65 Make reader setting slider inputs resettable to default 2024-12-16 22:09:01 +01:00
schroda
f51446995a Fix "continuous vertical pager" unintentional page gaps
Depending on the screen size and e.g. the set "reader width" pages might not have filled out the full img elements size due to "object-fit contain".
This was caused due to the image wrappers flex container "align-items center" which slightly reduced the images width to some ".xy" number (e.g. instead of wrappers width 258px, the images were something like 257.83px)
2024-12-16 22:09:00 +01:00
schroda
15a70760ca Fix double page with different dimensions
In case two pages were displayed with different dimensions, the bigger page might take up more than 50% of the screen.
In this case the bigger page got limited to 50% which caused in to unintentionally get reduced in size
2024-12-16 22:08:59 +01:00
schroda
942d8699c1 Add "Webtoon" reading mode 2024-12-16 22:08:58 +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
e95cc232a2 Improve reader chapter update on last page reached
In case "endReached" is force set to "true" the chapters last page index should always be set to prevent 2 chapter updates
 - 1. for second to last page, read true
 - 2. last page, read true

This only happens in "continuous pagers" which have to handle cases where the end of the last page is already visible while the last page itself is too small to ever get set as the "current page index"
2024-12-16 14:49:37 +01:00
schroda
b4c1cdee77 Handle chapter updates sync in reader
To be able to properly prevent unnecessary chapter updates, the ongoing updates have to finish, so that the apollo cache is update to date.

Otherwise, the update guard will always be false since the apollo caches chapter data is still from before the previous updates were triggered.
2024-12-16 14:49:37 +01:00
schroda
fcd44abccd Update chapters in reader only when data will change
In case the chapters already match the "patch" input, an update is not required.
2024-12-16 14:49:36 +01:00
schroda
d844ad3f5d Use full height and width of viewport on iOS
- render appbar background color on ios status bar
- handle "home indicator" safe area inset
2024-12-16 14:49:35 +01:00
schroda
ffe824e603 Remove unnecessary "onTouchStart" 2024-12-15 22:37:39 +01:00
schroda
df9e24f4d7 Darken background colors for dark theme
To improve the contrast a little bit
2024-12-13 16:53:40 +01:00
schroda
3db1de86a8 Inform about reader layout setting asterisk on touch device
The information for the asterisk was only shown as a tooltip, which is only optimal for non touch devices
2024-12-13 16:48:37 +01:00
schroda
feacfe70f1 Show active setting in reader desktop nav bar 2024-12-13 16:38:41 +01:00
schroda
33910cc89d Prevent opening previous/next chapter on page selection
In case the first/last page was opened and a specific page was selected, instead of opening the page, the previous/next chapter was opened due to incorrectly handling the page change as a previous/next page change
2024-12-13 02:32:36 +01:00
schroda
f69fbd71d2 Open previous chapter transition page in double page mode
For the double page mode the secondary page index gets used.
This was changed with 9a8655db2f, however, this occurrence was overlooked
2024-12-13 02:30:49 +01:00
schroda
e425b8f304 Properly disable previous/next page desktop overlay buttons in double page mode
For the double page mode the secondary page index gets used.
This was changed with 9a8655db2f, however, this occurrence was overlooked
2024-12-13 02:29:27 +01:00
schroda
aaf7fb7b30 Prevent hiding overlay on page change through overlay 2024-12-13 02:15:18 +01:00
schroda
e944831862 Fix reader desktop page selection in double page mode
For the double page mode the secondary page index gets used.
This was changed with 9a8655db2f, however, this occurrence was overlooked
2024-12-13 02:07:02 +01:00
schroda
1e57533337 Highlight active settings in reader settings 2024-12-13 02:01:58 +01:00
schroda
66b3757b12 Handle missing reader keybinds in metadata
The current default value fallback logic for metadata just checks if a key is missing, or if it's value is undefined.
Since the keybinds are an object, a keybind that got newly added and wasn't saved to the metadata was never added with its default value to the object due to the metadata containing a "keybinds" key with an existing value
2024-12-12 23:45:42 +01:00
schroda
d00c930598 Fix "is read" detection in single/double page mode
In case the last page of a manga was immediately visible or the became visible after the "image spread state" change, the chapter never got marked as read
2024-12-12 13:21:48 +01:00
schroda
9a8655db2f Always use "secondary page index" as "current page index" when available
There was an issue where one had to click twice at the end of a chapter in the "double page mode" to get to the chapter transition page.
This was caused due to setting the "primary page index" as the "current page index" and thus, when opening the next page, it got changed to the "secondary page index". However, this page was already visible and therefore, there was no visual change.
2024-12-12 13:21:29 +01:00
schroda
89b81de830 Handle ".5" chapters in chapter transition warning
".5" chapters would incorrectly trigger the missing chapter warning
2024-12-12 12:56:40 +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
7307a3350d Catch uncaught promise 2024-12-11 22:40:06 +01:00
schroda
6dd2c8e2ff Show chapter transition warning
- on scanlator change
- on skipped chapters
2024-12-11 22:38:04 +01:00
schroda
8ca0af8d02 Hide overlay on page/scroll change 2024-12-11 22:36:02 +01:00
schroda
8b67c2d6a9 Add "cycle profiles" hotkey 2024-12-11 20:53:48 +01:00
schroda
cff0ed5ec3 Extract app routes into constant 2024-12-11 20:25:49 +01:00
schroda
8c4ff516c0 Rename "theme.tsx" to "ThemeCreator.ts" 2024-12-11 18:02:03 +01:00
schroda
b3e3d94bda Move "theme.tsx" to proper module 2024-12-11 13:57:24 +01:00
schroda
7ffcfc1a16 Keep route names lowercase 2024-12-11 13:55:00 +01:00
schroda
20a8666f95 Simplify setting route names 2024-12-11 13:51:46 +01:00
schroda
6802941252 Rename "Default reader settings" to "Reader settings" 2024-12-11 13:43:53 +01:00
schroda
b2a0ca979a Restrict "readerWidth" value migration regex 2024-12-11 11:28:56 +01:00
schroda
08f517fb36 Fix changing manga tracker "status"
The "status" has to be a number.
Seems like there was some bug in graphql-kotlin since it did not return an error previously and with updating to the latest version it now returns one
2024-12-11 00:24:21 +01:00
schroda
3e55cf9769 Migrate "readerWidth" reader setting 2024-12-11 00:17:36 +01:00
schroda
d748f630a9 Support dynamic new value creation for metadata value migration 2024-12-11 00:17:36 +01:00
schroda
45bedfaddb Support regex in metadata value migration 2024-12-11 00:17:35 +01:00
schroda
5cda9a3972 Reduce chapter update mutation requests 2024-12-10 02:12:38 +01:00