Commit Graph
100 Commits
Author SHA1 Message Date
schroda a3deea5b4b Properly center chapter transition page
After changes in e4253633c9 the transition page content wasn't properly centered anymore in the single/double reading mode depending on the applied reader settings (scale type, stretch, reader width)
2024-12-18 00:33:03 +01:00
schroda 60b541a7e5 Add option to reset image preload amount 2024-12-17 16:53:01 +01:00
schroda ba3a8e7362 Add option to reset progress bar size 2024-12-17 16:53:01 +01:00
schroda f72977c7ce Add option to reset image filters to default 2024-12-17 16:53:00 +01:00
schroda 8ca0c58ee0 Add "cycle reading direction" hotkey 2024-12-17 16:27:20 +01:00
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
schroda 6039d5b78e Remove accidentally added stable server compatible webui preview version III
awkward... three times the charm I guess
2024-12-09 23:37:47 +01:00
schroda 5b8ef71fb2 Remove accidentally added stable server compatible webui preview version II
...
2024-12-09 23:34:03 +01:00
schroda 208d527659 Remove accidentally added stable server compatible webui preview version 2024-12-09 23:32:21 +01:00
schroda 1525f93e41 Fix lint issue 2024-12-09 22:42:51 +01:00
schroda dac19386ed Remove outdated translation keys
Implementation changed and they're no longer needed
2024-12-09 22:41:48 +01:00
schroda f98b34de15 Add "disabled" tap zone layout 2024-12-09 19:09:01 +01:00
schroda 230e23484a Properly disable hotkey scopes for open reader settings 2024-12-09 17:14:59 +01:00
schroda 044aa23ad4 Fix lint issue 2024-12-09 16:26:03 +01:00
schroda 2cd5a970cc Add tooltips to reader desktop quick settings 2024-12-09 16:24:32 +01:00
schroda 9c5382ebd7 Support RTL mode for mouse drag inertia effect
Compared to LTR were the "scrollLeft" value is >= 0, for RTL it's <= 0 which was not handled and thus on applying the inertia effect, "scrollLeft" was always set to 0 due to preventing negative values
2024-12-09 16:12:37 +01:00
schroda 1387a016c7 Fix page changes via click/hotkey in horizontal pager
Due to the way the pages got scrolled into view, the current page was not changed to the new page.
This then prevented the previous/next page to get opened via click/hotkey actions
2024-12-09 15:07:52 +01:00
schroda f654d95804 Fix click/scroll/hotkey open previous/next chapter
Properly handle all combinations of theme and reader reading directions
2024-12-09 15:06:11 +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 0e3b629287 Fix open page per click in RTL mode
The action to perform which gets determined on a tap zone click is always in the correct direction, thus, the direction for the "openPage" call has to be forced to be "LTR" to prevent inverting the direction
2024-12-09 03:11:45 +01:00
schroda 8491091b2b Fix click/hotkey scrolling
- properly handle theme direction and reading direction combination
- prevent opening previous/next chapter in non-continuous reading modes
2024-12-09 02:38:37 +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 5de5eb7cdc Hide cursor on mouse inactivity 2024-12-09 02:38:37 +01:00
schroda 965aa7215c Update chapter 2024-12-09 02:38:37 +01:00
schroda 916abd3bb1 Resume chapter at specific page
- open from outside reader
 - is read
  - yes: 1st page
  - no : last read page
- inside reader via
 - chapter selection: first page
 - previous chapter : last page
 - next chapter     : first page
2024-12-09 02:38:37 +01:00
schroda 206c216093 Add mouse drag scrolling to continuous pagers 2024-12-09 02:38:37 +01:00
schroda fb31a92cd7 Reader transition page 2024-12-09 02:38:37 +01:00
schroda 7cf78e771a Reader page rendering 2024-12-09 02:38:37 +01:00
schroda 0b1c67ce9f Reader hotkeys 2024-12-09 02:38:37 +01:00
schroda 0ae9d9ebb2 Custom reader profiles 2024-12-09 02:38:37 +01:00
schroda 0855fbcf23 Reader custom color filter 2024-12-09 02:38:37 +01:00
schroda a607f7f368 Reader settings 2024-12-09 02:38:37 +01:00
schroda 9c57ace973 Reader Overlay 2024-12-09 02:38:37 +01:00
schroda 78e2b42136 Reader overlay page number 2024-12-09 02:38:37 +01:00
schroda 56684e405c Reader overlay desktop nav bar 2024-12-09 02:38:37 +01:00
schroda 671059c65c Reader overlay mobile bottom bar 2024-12-09 02:38:37 +01:00
schroda c1eb631422 Reader overlay mobile header 2024-12-09 02:38:37 +01:00
schroda 7434ed0152 Reader progress bars 2024-12-09 02:38:37 +01:00
schroda 51fb660c7b Reader tap zones 2024-12-09 02:38:37 +01:00
schroda 8e59763bba Delete deprecated reader files 2024-12-09 02:38:37 +01:00
schroda 484d6cdac4 Fix previous preview version mappings
Update ui versions to the latest compatible versions, they were pointing to the first version that updated the minimum server version while they needed to point to the previous commit of the commit that changed the minimum server version to a higher version.

Updated ui versions that pointed to non-existing revisions.
Multiple commits at once were pushed to the master which caused the revision of the mapping update commit to not be a release
2024-12-09 02:38:37 +01:00
schroda 12e8939267 Prevent duplicated downloads in download queue
The mutation to add chapters to the download queue returns the current download queue.

Thus, the local queue already includes the new downloads and adding them blindly in the download subscription will cause them to be in the local queue twice.
2024-12-09 02:38:37 +01:00
schroda b9ab13c7d2 Re-add older preview versions 2024-11-30 14:59:32 +01:00
schroda 50cb9570c1 Close "source configuration" dialogs on backdrop click and "esc" press 2024-11-28 12:38:47 +01:00
schroda c6f7ebd7c2 Close "language select" dialog on backdrop click and "esc" press 2024-11-28 12:36:39 +01:00
schroda 069aa26a0f Close "category select" dialog on backdrop click and "esc" press 2024-11-28 12:36:20 +01:00
schroda 1e109e7d32 Remove deprecated "gqlDebugLogsEnabled" setting 2024-11-28 12:22:17 +01:00
schroda 0c02de5b92 Correctly get total library size
The total size was the sum of all categories, which could include duplicates, since manga can be in multiple categories.

This still will show an incorrect number, because server side there is the same issue with the "mangas" query including duplicates in the total count, however, once this is fixed, the correct count will be displayed
2024-11-28 12:20:36 +01:00