Commit Graph
100 Commits
Author SHA1 Message Date
schroda c877ea23d3 Update tracker progress on mark all as read in ChapterList button 2024-04-21 03:44:02 +02:00
schroda 18365a26c1 Update image when src url changes
When e.g. switching between 2 different manga pages, the thumbnail did not update because the img fetch was not triggered in case the src url changed
2024-04-21 00:04:00 +02:00
schroda 2066851793 Optionally migrate track bindings 2024-04-21 00:02:43 +02:00
schroda 0d8bb789a0 Rename metadata migration setting flags 2024-04-20 23:26:34 +02:00
schroda a6bdf1b10a Fix typo in translation key usage 2024-04-20 23:19:03 +02:00
schroda 1a16dba7bd Add option to update tracking on manual mark as read 2024-04-20 23:15:02 +02:00
schroda d35ef4fa7f Remove incorrect "change_categories" options type from Chapters::performAction 2024-04-20 22:56:45 +02:00
schroda 7325212b8e Simplify chapter action id selection 2024-04-20 22:49:47 +02:00
schroda a1c0ec82b8 Add setting to disable tracking update while reading 2024-04-20 22:25:40 +02:00
schroda 6f12ae7e4a Correctly download ahead for batch download action 2024-04-20 21:52:18 +02:00
schroda 65992bbcdb [SKIP CI][ESLint] Fix linting issue 2024-04-20 14:45:42 +02:00
schroda b1f97fdf69 Chapters download menu download ahead only if required
Instead of checking if download ahead is required because not enough unread downloaded chapters existed, it just downloaded the next n unread undownloaded chapters
2024-04-20 02:40:10 +02:00
schroda 52e077ff19 Add chapters download menu 2024-04-20 01:43:06 +02:00
schroda 6b066fe8ca Extract Mangas action option types 2024-04-20 01:42:05 +02:00
schroda 8ebd028d25 Update to node v21.7.3
Use "Object::groupBy"
2024-04-20 01:31:19 +02:00
schroda db65082a09 Version lock dependencies 2024-04-20 00:57:30 +02:00
schroda ff508b0972 Move dependencies to dev dependencies 2024-04-17 20:02:03 +02:00
schroda dcc90e3e2f Do not emit storage event when changing grid snapshot
To prevent unnecessary re-renders.
The current grid state was stored in the session storage which then triggered an immediate re-render because the just saved snapshot got restored again
2024-04-16 02:52:15 +02:00
schroda 1f227ce886 Scroll to top when changing shown data in source browse
The current scroll position was preserved when changing the shown content type (browse, latest, filters) or when changing the filters.

Regression introduced with aab3e25031
2024-04-16 02:49:08 +02:00
schroda 80ad5e06be Optionally don't fire storage event
In case a value should be updated without informing subscribes about the change.
E.g. to prevent unnecessary re-renders when using a storage hook
2024-04-16 02:45:25 +02:00
schroda 1352f636ba [SKIP CI][IssueModerator] Fix "acknowledgment section" detection for "Meta" issues 2024-04-16 01:50:06 +02:00
schroda 4c3b1c1560 [SKIP CI][IssueModerator] Allow "Meta" issues 2024-04-16 01:40:47 +02:00
schroda 8178574815 Fix/remove deprecated routes (#747)
* Route to "/" in case path is unknown

* Remove deprecated routes

"sources" and "extensions" were merged into "browse" but the routes were never removed, thus, the paths still matched and opened the components
2024-04-14 18:08:15 +02:00
schroda 6276da42cf Feature/i18n load resources from backend (#746)
* Load i18n resources from backend

* Move locales to public folder
2024-04-14 17:32:25 +02:00
schroda 43597e8428 Add new languages to resources 2024-04-14 17:28:19 +02:00
schroda 473e85a8ed Feature/use second level mui imports (#743)
* Require "Theme" to be passed to "SxProps"

Decreases typescript performance otherwise

* Disallow "top" and "third-level" MUI imports

* Exclude "node_modules" in tsconfig
2024-04-14 15:50:12 +02:00
schroda 418da46c62 Restore previous content type when clearing search (#742)
After clearing the current search the initial content type was always restored instead of the previous selected content type
2024-04-14 15:22:35 +02:00
schroda 1df4b4b311 Fix/source mangas applied filters lost when triggering search (#741)
* Delete storage item when setting "undefined"

* Preserve source browse filters on search

The set filters were lost in case a search was triggered
2024-04-14 15:18:51 +02:00
schroda d0d21b00d5 Fix/server side UI settings saved per device instead of global (#740)
* Make last used migration dialog flags global settings

Were saved per device

* Make "hide library entries" a global setting

Was saved per device
2024-04-14 15:12:17 +02:00
schroda 44ddf19d18 Prevent MUI Popper TypeError (#739)
Vite chunking can cause "Uncaught TypeError: styled_default is not a function at Popper.js:14:20"
2024-04-14 15:11:13 +02:00
schroda 76125a7617 Feature/update dependencies (#738)
* [Tooling] Create script to update dependencies

* Lock dependency versions

* Update dependencies

Wait for eslint related dependencies to be compatible with v9
2024-04-14 15:10:34 +02:00
schroda 79a9d1f246 Pass manga title into location state for migration search (#731)
In case the migration search was started by clicking on a manga card from the migration page the manga title was not passed to the search and thus was missing from the page title
2024-04-11 02:02:40 +02:00
schroda 9d280577be Remove add/remove library button in migration mode from manga cards (#730) 2024-04-11 02:02:31 +02:00
schroda 37224122e6 Enable add/remove manga from library in source global search on long press (#729)
Was supposed to be added with 29860482a6
2024-04-11 02:02:25 +02:00
schroda 9a738775f1 Fix/search bar search disappearing after submit (#728)
* Correctly update search string on location change

Regression introduced with aab3e25031

* Remove unnecessary usage of "useSessionStorage"

This did not add anything and made no sense
2024-04-10 23:46:08 +02:00
schroda f036f01f70 Fix/properly reset cache and queues on server url change and backup import (#725)
* Reset cache on server url change

* Reset image queue

* Completely reset apollo store
2024-04-10 01:23:08 +02:00
schroda d74bd2f80d Allow editing SOCKS and basic auth settings while disabled (#726)
In case these settings were disabled, the other dependent settings were not editable.
This prevented them from being set up as needed before enabling them
2024-04-10 01:22:58 +02:00
schroda 6c43e974e2 Fetch images via html img elements (#727) 2024-04-10 01:22:47 +02:00
schroda 00f5e8d76f Remove track record total chapter as max value for number input (#723)
In case the tracker does not have a total chapter number, it was impossible to manually change the last read chapter
2024-04-09 23:37:52 +02:00
schroda 53de29f263 Unregister existing service workers (#722)
In case some other app was served on the same domain which registered a service worker, this service worker was incorrectly used and never unregistered
2024-04-09 23:37:41 +02:00
schroda 0490851deb [VersionMapping] Require server version "r1514" for preview (#718)
Forgotten in 5edb14aefcda2f54b89975c36f327d7fe84e3c86...
2024-04-07 21:49:04 +02:00
schroda 5edb14aefc Feature/settings auto downlaod add new exclude reuploads setting (#717)
* [Codegen] Update generated files

* [Tooling] Run ts-node with transpile only option

* Add new ignore re-uploads from auto download setting
2024-04-07 21:47:07 +02:00
schroda 1b28ae27fa Feature/cleanup manga card (#716)
* Extract manga badge components

* Extract list/grid manga card

* Disable default promise error handler in production
2024-04-07 21:30:47 +02:00
schroda ca8daab0da Change manga in library state on long press in list mode (#715)
Was forgotten in 29860482a6
2024-04-07 21:19:12 +02:00
schroda 29860482a6 Feature/browse source manga long press remove add manga from library (#710)
* Extract CategorySelect usage into hook

* Extract logic to change manga in library state into hook

* Change manga in library state on long press when browsing source
2024-04-07 15:33:08 +02:00
schroda aab3e25031 Feature/improve restoring grid snapshots (#713)
* Update local storage functions

* Update local storage hooks

* Add session storage

* Improve storing virtuoso grid snapshot

* Use "useSyncExternalStore" for browser storage access

* Get rid of location replacements in "AppbarSearch"

Use session storage instead to prevent reloading the page all the time due to changing the location

* Get rid of location replacements in "SourceMangas"

Use session storage instead to prevent reloading the page all the time due to changing the location
2024-04-07 15:22:03 +02:00
schroda ea2f9dc5a4 Prevent TypeError (#712)
Somehow the grid ref was undefined after the resize observer was already connected.
This should not be possible, so just disconnect the observer in case this still happens
2024-04-07 15:21:46 +02:00
schroda d68d9b7ed2 Remove usage of z-index for manga badges (#711)
Caused the badges to be over some components which they were not intended to be
2024-04-07 15:21:36 +02:00
schroda 41d876e156 Feature/utilize long press (#709)
* Open manga action menu on long press

* Open chapter action menu on long press
2024-04-07 15:21:25 +02:00
schroda ecd9b7478b Add range selection (#707) 2024-04-05 02:03:00 +02:00
schroda 568aaebc3e Trigger refresh only when initially open the track component (#704)
Due to triggering the refresh in the TrackerActiveCard it was triggered everytime this component got rendered, which was also the case when closing the track search
2024-04-03 22:34:48 +02:00
schroda 26cbe15964 [SKIP CI] Fix/issue moderator workflow (#703)
* [IssueModerator] Disable unused options

* [IssueModerator] Fix regexes of rules
2024-04-03 22:32:20 +02:00
schroda 827fa5a171 [SKIP CI] Feature/improve issue moderator workflow (#701)
* [IssueModerator] Improve un-removed "acknowledgment" section detection

* [IssueModerator] Check for invalid issue types in title

* [IssueModerator] Try to ensure short descriptive title

* [IssueModerator] Try to prevent questions in the title
2024-04-03 16:30:25 +02:00
schroda b1ce977dcd Wait for initial page to be rendered before scrolling it into view (#696)
The ResizeObserver triggers the first time when the element has a height of 0, which apparently did not work with scrolling it into view.

Due to immediately disconnecting the observer, the next resize event, which would successfully scroll the page into view, was never handled

Regression introduced with 0c1abebaf4
2024-04-01 13:17:50 +02:00
schroda c4139b5d51 Only trigger track progress on last page read (#693) 2024-04-01 02:30:58 +02:00
schroda 0d0cd54249 Fetch latest track data from tracker (#692) 2024-04-01 02:06:35 +02:00
schroda 46fc7f6bdc Use correct translation key for remote track deletion (#691) 2024-04-01 01:23:04 +02:00
schroda 5a2f77d124 Trigger track progress on last page read of chapter (#690) 2024-04-01 01:22:49 +02:00
schroda 4f7a05f6fe Add bookmarked filter in library (#687) 2024-04-01 01:12:26 +02:00
schroda fe2cb682b6 Use first unread chapter for continue read buttons (#689) 2024-04-01 00:57:47 +02:00
schroda 9674b18d28 Feature/tracking unbind use new mutation (#688)
* [Codegen] Update generated files

* Use new "unbindTrack" mutation

* Add option to delete remote track on unbind

* [VersionMapping] Require server version "r1510" for preview
2024-04-01 00:45:44 +02:00
schroda 8d265f1ddf Install dependencies from lock file in github actions (#686) 2024-03-31 23:36:39 +02:00
schroda dc1a6cbd16 Feature/update dependencies (#685)
* Update dependencies

* Add missing "graphql" peer dependency
2024-03-31 23:34:40 +02:00
schroda 25b7d149ba Refetch GET_MANGAS query on track unbind mutation (#684)
GET_CATEGORY_MANGAS is only used for the default category
2024-03-31 17:23:52 +02:00
schroda d59f90f787 Consider track filters for library filtered out message (#683) 2024-03-30 16:07:29 +01:00
schroda 21acbd5f48 Fix/tracking updating score (#682)
* Use SelectSetting for updating track score

* Create custom Select component
2024-03-29 18:57:52 +01:00
schroda 374e71f521 Highlight library filter icon as active for tracker filter (#681) 2024-03-29 16:55:07 +01:00
schroda fa1169337f Fix/manga track binding card styling (#680)
* Fix missing box shadow of active tracker card

Due to missing side paddings the box shadow wasn't visible

* Extract tracker card styling

* Prevent breaking title when selecting manga

* Limit max lines of titles
2024-03-29 16:54:53 +01:00
schroda 74f945dd59 Use correct translation key (#679) 2024-03-29 00:51:14 +01:00
schroda 74cf4b7c50 Add option to use img tag to fetch images
MangaUpdates covers could not be fetched via the fetch api because there were cors issues
2024-03-29 00:45:38 +01:00
schroda 816cbee145 Add library filter for trackers 2024-03-29 00:45:38 +01:00
schroda 511b1f7c5e Specify type of custom scalars 2024-03-29 00:45:38 +01:00
schroda 7990ffda71 Add track action to manga action menu in library 2024-03-29 00:45:38 +01:00
schroda 5dbf1ce30c Implement showing/updating/removing tracker bindings 2024-03-29 00:45:38 +01:00
schroda 66c57a542b Implement binding manga to tracker 2024-03-29 00:45:38 +01:00
schroda f913f5ec32 Show image placeholder
Instead of trying to load invalid url
2024-03-29 00:45:38 +01:00
schroda 21eda17bc1 Add "SearchTextField" 2024-03-29 00:45:38 +01:00
schroda d22bfaa55c Implement tracker login and logout 2024-03-29 00:45:38 +01:00
schroda daa3426754 Add "PasswordTextField" 2024-03-29 00:45:38 +01:00
schroda 23c353d52e Prevent fragment inside MUI Menu (#678) 2024-03-29 00:15:31 +01:00
schroda 1b81e1e824 Fix/manga details buttons (#677)
* Move button icon on top of text on small screens

* Fix colors of buttons

In case a manga is in the library all buttons were colored blue instead of only the library button.
Use white as default color since buttons can also be disabled and with a grey default color it's not easy to tell if the button is disabled or not

* Remove wrapping "button" inside "a" tag
2024-03-29 00:15:03 +01:00
schroda 999c5954f3 Use correct chapter list for guard condition (#676)
In case of the "mark_prev_read" as read action, the passed chapter list was empty and thus the guard to exit early was incorrectly triggered
2024-03-27 21:11:41 +01:00
schroda 64ac49fa41 Support older browsers (#674) 2024-03-26 23:39:25 +01:00
schroda 6fc70121c6 Fix/manually deleting chapter ignores bookmark (#675)
* Rename "Chapters::isAutoDeletable" to "isDeletable"

* Rename "Chapters::getAutoDeletable" to "getDeletable"

* Prevent manually deleting bookmarked chapters unless allowed
2024-03-26 23:39:04 +01:00
schroda 06b2bca340 Add prioritization to image requests (#671)
In the reader the preloaded page requests were triggered before the actual page got rendered and thus, the image request of the rendered page had to wait for all the preloaded images to finish
2024-03-24 19:08:36 +01:00
schroda 34aeac9c33 Preload pages in single page mode (#670) 2024-03-24 15:05:31 +01:00
schroda 1d49945caa Fix check for fetch abortion error (#668) 2024-03-24 15:03:29 +01:00
schroda a96038bcb7 Prevent image loading placeholder for cached images (#669)
Give the image time to get loaded from the cache before setting the loading state
2024-03-24 15:03:20 +01:00
schroda 6186cb0ea3 Optionally hide library manga when browsing source (#665) 2024-03-23 23:44:46 +01:00
schroda 66d6c95dfd Feature/automatically load more pages until scrollbar is visible (#667)
* Rename "grifRed" to "gridWrapperRef"

* Automatically fetch more pages until scrollbar is visible
2024-03-23 23:34:33 +01:00
schroda 83635faf95 Cache first page of source manga fetch response (#666) 2024-03-23 23:34:20 +01:00
schroda 452ac4fd9a Properly disable open source button in manga page (#663) 2024-03-22 03:33:19 +01:00
schroda 0ad08360a2 Remove image url port replacement (#664)
This was unintentionally added
2024-03-22 03:33:09 +01:00
schroda bee4d4aab8 [ESLint] Enable caching (#661) 2024-03-19 22:46:39 +01:00
schroda 0c1abebaf4 Disconnect resize observer after restoring initial page (#660)
Everytime the reader width got changed, the resize observer triggered the initial page to get scrolled into view again
2024-03-19 22:46:31 +01:00
schroda 0c22a9012e Feature/cleanup metadata related logic (#657)
* Remove unnecessary parameter from "requestUpdateServerMetadata"

* Streamline updating metadata server settings

* Move metadata related logic
2024-03-16 16:21:15 +01:00
schroda aea5dad0ce Remember last used migration flags (#656) 2024-03-16 14:02:54 +01:00
schroda 318c4a5040 Add option to delete downloaded chapters on migration (#655) 2024-03-16 13:45:54 +01:00
schroda 31d53ed182 Remove search page from the history after migrating (#654) 2024-03-16 13:45:47 +01:00
schroda c005316f56 Feature/update iso languages (#652)
* Extract iso language list to new file

* Update iso language list

* Add function to get full iso language object

* Change i18n resource key of "Norwegian Bokmål"
2024-03-09 02:52:34 +01:00