Commit Graph
100 Commits
Author SHA1 Message Date
schroda c731d08547 Fix lint issue 2024-05-04 22:45:01 +02:00
schroda 6df1159728 Use unique local storage key 2024-05-04 15:52:16 +02:00
schroda df66e180d8 Add setting to show duplicated library entries 2024-05-04 15:41:21 +02:00
schroda 297ecd8b52 Add option to highlight specific button in ConfirmDialog 2024-05-04 14:50:27 +02:00
schroda f66051d398 Check for duplicated library manga on add to library 2024-05-04 14:43:41 +02:00
schroda c29173681f Reduce code duplication for Library filtering and sorting 2024-05-03 17:01:04 +02:00
schroda 3efb2662de Correctly sort library by latest uploaded chapter 2024-05-03 16:40:13 +02:00
schroda d3999123ab Extract "Date" functions into "date.ts" util 2024-05-03 16:19:20 +02:00
schroda 29ade85f7f Use "Intl.DateTimeFormat" instead of Date locale functions
It's recommended to use "Intl.DateTimeFormat" instead of using Date locale functions which get called often with the same options (e.g. https://developer.mozilla.org/en-US/docs/web/javascript/reference/global_objects/date/tolocaletimestring)
2024-05-03 15:57:38 +02:00
schroda 940949f832 Fix double page styling for rtl languages 2024-05-03 14:46:28 +02:00
schroda bbafe893de Extract version update info dialog into component 2024-05-03 14:46:05 +02:00
schroda 61b43b80af Merge version update close buttons into one 2024-05-03 01:48:12 +02:00
schroda e54a98001a Use browser language as dayjs locale 2024-05-02 22:14:34 +02:00
schroda fc9a849c1b Use "custom parse format" dayjs plugin
Without this plugin the formatted date was shown as "Invalid date"
2024-05-02 22:14:08 +02:00
schroda dc9d9dfa3f Prevent TypeError in Reader chapter update
In case the manga wasn't loaded immediately, trying to access the trackRecords totalCount caused a TypeError because the initial manga object did not specify it
2024-04-30 20:18:00 +02:00
schroda 5a97f11703 Add missing requests to loading and error handling of Reader 2024-04-30 20:16:02 +02:00
schroda ba3aefc854 Lazy load app routes 2024-04-30 00:39:47 +02:00
schroda 5ab921aba7 Fix TypeError in Mangas::downloadChapters
In case a manga was completely downloaded, the grouped chapters did not contain a list for the specific manga id, resulting in an TypeError due to trying to use the array as if it was not undefined
2024-04-30 00:39:47 +02:00
schroda 0f16429c14 Fix EmptyView styling 2024-04-29 16:22:46 +02:00
schroda 93e95c0a8f Show "no mangas found" message by default
The non-null assertion operator was incorrectly used since "message" could be potentially undefined
2024-04-29 15:39:43 +02:00
schroda bcccbda00c Add retry option to SearchAll error message 2024-04-29 15:37:01 +02:00
schroda c19df43e4a Fix styling of SearchAll error messages 2024-04-29 15:37:01 +02:00
schroda 054585f488 Rename "EmptyView" 2024-04-29 15:29:33 +02:00
schroda 7866fdb9f1 Never use cache for manga chapters with state query
Changed with 0c4ce2c9c5, but it does not work because the chapters state could have changed in the meantime, changing the chapters included in the query response, which is not represented by the cached query
2024-04-29 14:54:18 +02:00
schroda 3f507e0a30 Keep order of chapters when removing duplicates 2024-04-29 12:37:11 +02:00
schroda 045c60c828 Prevent opening disabled NestedMenuItem 2024-04-29 01:06:22 +02:00
schroda ee0bf3c1e0 Make "value" prop of setting components required 2024-04-28 02:58:38 +02:00
schroda f1ec97b0e6 Extract fetch logic into parent setting components 2024-04-28 02:58:38 +02:00
schroda 58f5e9ff79 Add retry logic to existing error handling 2024-04-28 02:58:35 +02:00
schroda 7531edbd59 Add retry logic to Library error handling 2024-04-28 02:58:28 +02:00
schroda 773d2b1026 Add missing error handling 2024-04-28 02:58:24 +02:00
schroda a447719309 Remove unnecessary "??" operator usage in EmptyView prop 2024-04-27 22:15:16 +02:00
schroda 626c4ba6e6 Show missing loading placeholders 2024-04-27 22:04:44 +02:00
schroda 35b756e09c Mark duplicated chapters as read
Should have been done with fd2946d1ae, but it only deleted downloads of duplicated chapters
2024-04-27 15:14:56 +02:00
schroda 3b276f9f58 Keep downloaded thumbnails when clearing server cache 2024-04-27 00:03:37 +02:00
schroda b90f84ee11 Prevent triggering load more requests while loading 2024-04-26 22:19:29 +02:00
schroda 09bf1163fa Remove logging of image request failures 2024-04-26 17:29:58 +02:00
schroda f7e95b6660 Update dependencies 2024-04-26 17:10:53 +02:00
schroda 950d240c8a Set "location origin" as default "server base url" 2024-04-26 13:04:21 +02:00
schroda 741489ad49 Adjust missed styling for rtl direction 2024-04-26 13:00:45 +02:00
schroda 1626771e92 Apply rtl styling for rtl languages 2024-04-25 19:27:59 +02:00
schroda 6788e284e9 Prevent selecting an unsupported language
In case no language had been selected yet and the detected browser language is not supported, the selection was set to undefined instead of showing the default language
2024-04-25 00:27:00 +02:00
schroda bbb655c448 [Tool] Add script to generate i18n resource array 2024-04-25 00:06:07 +02:00
schroda 082f923e10 Improve i18n resource typing 2024-04-24 23:56:06 +02:00
schroda a7cafb59a4 Fix missing translations for language selection setting 2024-04-24 23:53:43 +02:00
schroda 7ceb1af23e Prevent webUI update available dialog when auto update is enabled
The automatic webUI update checks were not triggered in case the auto update setting was disabled but it was still possible for the update info dialog to be shown
2024-04-23 18:19:20 +02:00
schroda fd2946d1ae Mark duplicated chapters as read
In case the "skip duplicated chapters" setting was enabled the duplicated chapters of the just read chapter did not get marked as read
2024-04-23 18:08:34 +02:00
schroda 0c4ce2c9c5 Use cache to query chapters with state
There is a potential that the cached chapters state is outdated, but this is a marginal issue and is preferred over sending a request to the server everytime for data that is most likely already known.
The triggered downloads will also reflect what is currently shown in the UI, so it will most likely never be known if some chapter state was outdated.
2024-04-23 13:54:04 +02:00
schroda 23e639a4e9 Ignore duplicated chapters for download limits
In case the next 5 chapters should get downloaded and they are all the same chapter from different scanlators, then the download actually only included 1 chapter.
To fix this duplicated chapters are counted as 1 chapter
2024-04-23 13:46:59 +02:00
schroda 640cc1bf49 Fix chapters download "all" option 2024-04-23 12:49:39 +02:00
schroda 6e4596c649 Include manga chapter fields in update subscription
In case a manga was fully read and a new chapter was found during a library update, the resume button was not correctly updated and pointed to the first chapter.
This regression was introduced with fe2cb682b6
2024-04-22 22:22:18 +02:00
schroda c76fc9c865 [ESLint] Remove "cache" flag from "lint-staged" linting 2024-04-22 22:19:40 +02:00
schroda ebd84d5b20 Disable webUI update check when auto update is enabled 2024-04-21 16:17:04 +02:00
schroda d5241009b6 Optionally ignore available server update
Makes it possible to never show the info dialog again for the available version update
2024-04-21 15:06:47 +02:00
schroda 9954341434 Remind about server update later on dialog close
Stop opening server update info dialog for one hour after the dialog was closed
2024-04-21 15:06:23 +02:00
schroda f61ed31bd5 Globally inform about available webUI updates
In case the automatic webUI updates setting was disabled the user was never informed about available webUI updates
2024-04-21 15:03:25 +02:00
schroda ad4f59f324 Extract automated update check into hook 2024-04-21 15:03:25 +02:00
schroda c4d77d2325 Globally inform about successful webUI updates
In case automatic webUI updates are disabled, the user gets informed about available updates
2024-04-21 15:03:24 +02:00
schroda 7725673dd7 Move ServerUpdateChecker to "util" folder 2024-04-21 12:52:31 +02:00
schroda 4ae0f65f6c Change order of WebUI "about" info 2024-04-21 12:51:08 +02:00
schroda 6f90eea762 Require manga library removal confirmation only in source browse 2024-04-21 03:50:41 +02:00
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