Commit Graph

491 Commits

Author SHA1 Message Date
schroda
980da657d9 [Codegen] Check cache before executing query for a single item (#513)
E.g. in case a manga was already loaded through the category mangas query, the query for that specific manga should not run against the server if it hasn't been executed before
2023-12-25 21:20:07 +01:00
schroda
c115fcd573 Feature/make selection logic reusable (#515)
* Introduce "selectable collection" hook

* Extract "select all" button into component

* Make "SelectionFABActionItem" reusable

Was to tightly coupled to chapters

* Make "SelectionFAB" reusable

Was to tightly coupled to chapters
2023-12-25 21:20:00 +01:00
schroda
c8747d6db4 Use correct key to normalize extensions (#512) 2023-12-25 21:16:04 +01:00
schroda
0615ef87ce Add divider between library tabs and mangas (#514) 2023-12-25 21:15:52 +01:00
schroda
2390361fb2 [Codegen] Request manga download count with chapter deletion mutation (#516)
After deleting a chapter, the download count of the chapters manga did not update, because the information was not requested with the mutation
2023-12-25 21:15:41 +01:00
schroda
168e8f82f6 Use "Footer" to prevent fab overlapping the last item (#517) 2023-12-25 21:15:31 +01:00
schroda
09d1cf91e0 Prevent navigation state update in case path already changed (#511)
The fix of e4beafb11f only worked in dev env and not in prod.
This prevents the navigation state update from getting triggered in case the path has changed in the meantime
2023-12-24 02:36:09 +01:00
schroda
e4beafb11f Cancel the navigation state update correctly (#507)
The timeout was never canceled in case the tab changed, thus, it kept updating the navigation state for the previous tab and the new tab.
2023-12-23 15:15:14 +01:00
schroda
e966b0328b Remove unnecessary query refetches with mutations (#508) 2023-12-23 15:15:08 +01:00
schroda
3756b65256 Correctly check for dev env (#509) 2023-12-23 15:15:03 +01:00
schroda
f4e8441238 Prevent ApolloError handling the manga category mutation result (#510)
Unclear what is causing the error or why this is fixing it, but without requesting the categories total count, the mutation fails on the first execution with "Uncaught (in promise) ApolloError: Cannot convert object to primitive value"
2023-12-23 15:14:57 +01:00
schroda
2f8c284c8b Add continue read button to library (#505) 2023-12-19 15:17:00 +01:00
schroda
663e20fff9 Visualize read chapters in the update list 2023-12-18 23:12:42 +01:00
schroda
953ebbe5a6 Add button to mark all chapters as read 2023-12-18 22:46:50 +01:00
schroda
5010b706fd Add button to download all chapters 2023-12-18 22:46:50 +01:00
schroda
90cec35358 Add button to quickly select all chapters 2023-12-18 22:46:50 +01:00
schroda
226f2e170f Handle line breaks in the manga description 2023-12-18 22:46:42 +01:00
schroda
1300c10d83 Remove unnecessary library refetch
The server is now returning up-to-date manga data and thus, it's not necessary to refetch the library anymore after the update is finished
2023-12-16 20:43:11 +01:00
schroda
f542c17fd6 Update download subscription to server changes
The download subscription now sends messages for finished downloads, thus, it's not required anymore to refetch the chapters.
2023-12-16 20:35:35 +01:00
Hosted Weblate
62568ce76b Translations update from Hosted Weblate
Translated using Weblate (Spanish)

Spanish: currently translated at 99.6% (327 of 328 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 96.2% (286 of 297 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 86.7% (256 of 295 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 96.9% (286 of 295 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 96.9% (286 of 295 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 98.7% (233 of 236 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (236 of 236 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (227 of 227 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (214 of 214 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (214 of 214 strings)

Translations update from Hosted Weblate

Translated using Weblate (French)

French: currently translated at 70.0% (147 of 210 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (210 of 210 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (202 of 202 strings)

Translations update from Hosted Weblate

Translated using Weblate (French)

French: currently translated at 54.2% (109 of 201 strings)

Co-authored-by: Alexandre Journet <alexandre.journet@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Ibaraki Douji <daynesmorgan33@gmail.com>
Co-authored-by: Nite07 <admin@nite07.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: misaka10843 <misaka10843@outlook.jp>
Co-authored-by: 蓝云Reyes <i@muir.fun>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/tachidesk-webui/es/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/tachidesk-webui/fr/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/tachidesk-webui/zh_Hans/
Translation: Suwayomi/Tachidesk-WebUI
2023-12-14 00:33:59 +01:00
schroda
1dc60af67c Add logic to reorder downloads (#495) 2023-12-13 02:05:03 +01:00
schroda
b5f86ae609 Feature/virtualize download queue (#494)
* Virtualize the download queue

* Show loading placeholder for download queue
2023-12-13 01:55:38 +01:00
schroda
abee8c7c55 Use virtuoso grid state to restore the previous scroll position (#492) 2023-12-10 15:58:28 +01:00
schroda
b6b902797e Scroll to top when changing page (#493)
The scroll position was persisted when switching to a different page.
Thus, when the current page was scrolled down and the next page was also scrollable, the top of the new page was not visible
2023-12-10 15:58:21 +01:00
schroda
c51897ed54 Feature/download queue clear queue (#490)
* Use "NavbarContext" in "DownloadsQueue"

* Add option to clear the whole download queue
2023-12-10 00:09:00 +01:00
schroda
7d574a29f6 Correctly calculate the remaining time till the next update check (#491) 2023-12-10 00:08:33 +01:00
schroda
9cb72243d6 Automatically check for server updates (#489) 2023-12-09 23:20:52 +01:00
schroda
78310496aa Feature/about screen add option to check for and trigger updates (#485)
* [VersionMapping] Require server version "r1436" for preview

* Move ts util types to new type file

* Add buttons for updating server and webUI
2023-12-09 23:08:27 +01:00
schroda
2caf88ce51 Remove incorrect "ListItemSecondaryAction" usage (#486) 2023-12-09 14:16:59 +01:00
schroda
fbf627b3aa Add option to clear the server cache (#487) 2023-12-09 14:16:52 +01:00
schroda
db5d3ff7c0 Remove "directLink" prop (#488)
Is not required anymore since "Link" of react-router-dom is a "<a>" element now anyway.
It also caused the following warning

"react-dom.development.js:86  Warning: React does not recognize the `directLink` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `directlink` instead. If you accidentally passed it from a parent component, remove it from the DOM element"
2023-12-09 14:16:44 +01:00
schroda
ad0f072651 Feature/automatic chapter deletion more options (#484)
* Add missing translations keys

* [Codegen] Update to latest server schema changes

* [VersionMapping] Require server version "r1431" for preview

* Rename "deleteChaptersAutoMarkedRead" metadata setting

* Add more options to auto delete chapters while reading

Makes it possible to delete the last to fifth to last read chapter instead of only being able to delete the last read chapter
2023-12-05 22:20:13 +01:00
schroda
ee03c56684 Fix/mark previous as read action includes the selected chapter (#483)
* Exclude the current chapter in the "mark prev as read" action

* Prevent unnecessary request for first chapter

In case "mark prev as read" gets called for the first chapter, the is no chapter to mark as read, thus, no request has to be sent
2023-12-05 22:18:53 +01:00
schroda
b2e6c040f1 [i18n] Format text to local lowercase (#481) 2023-11-27 19:14:58 +01:00
schroda
259d1d87df Show info about hosted WebUI in "About" (#482) 2023-11-27 19:14:43 +01:00
schroda
ee9811bf53 Correctly detect keyboard input "Enter" (#479)
The "code" property returns the physical key that was pressed.
Thus, e.g. "Enter" on the numpad is "NumpadEnter" and not "Enter".
2023-11-26 14:29:03 +01:00
schroda
c6cc7c14dd Update the "lastRunningState" in case update was triggered outside of app (#478) 2023-11-25 18:20:49 +01:00
schroda
47b077cbf5 Feature/update dependencies (#477)
* Remove accidentally committed script

* Update dependencies

* [ESLint] Fix issues

* Remove unnecessary "??" operator

* Update "vite" to v5.x

* Disable "no default export" rule in vite config
2023-11-25 18:13:51 +01:00
schroda
5aa7fc0f9f Remove icon for library search filter setting (#476) 2023-11-25 17:22:51 +01:00
schroda
2006ca9109 Feature/handle disabled download ahead limit by default (#475)
* Add a description to the dialog

* Set the default limit to the lowest possible value
2023-11-25 17:15:07 +01:00
schroda
6b2245d730 Move the last update timestamp to the body (#472)
On small screens, the last update timestamp caused the pages title to get cut
2023-11-25 15:39:39 +01:00
schroda
7c69a4a5a1 Feature/global update last timestamp use stale data while fetching (#473)
* Cache last update timestamp

* Correctly detect update as finished

The update status on server side does not get reset, thus, in case a previous update was finished, it would get detected as finished and handled once on the initial render.
2023-11-25 15:35:36 +01:00
schroda
a4bd44de9e Correctly merge chapter requests (#474)
A re-fetch wasn't correctly detected which resulted in outdated data to be shown.
The pageInfo was also not correctly merged, which resulted in losing the previous response start cursor and "has previous page" info
2023-11-25 15:35:26 +01:00
schroda
aa01d6712b Update extensions list after extension update (#471) 2023-11-24 03:20:16 +01:00
schroda
7adc28a35c Feature/gql improve queries mutations subscriptions (#470)
* [Codegen] Request less fields for category mutations

* [Codegen] Request less fields for chapter mutations

* [Codegen] Request less fields for downloader mutations

* [Codegen] Request less fields for extension mutations

* [Codegen] Request less fields for manga mutations

* [Codegen] Request less fields for source mutations

* [Codegen] Request less fields for updater subscription

* [Codegen] Request less fields for downloader subscription

* [Codegen] Combine chapter update mutations
2023-11-24 03:17:49 +01:00
schroda
3b147b1b46 Fix/update gql after server changes (#469)
* [Codegen] Update files

* Update "AboutServer"

* Cache "WebUIUpdateInfo"
2023-11-24 01:33:56 +01:00
schroda
3766540ce5 Add WebUI settings (#460)
* Add WebUI settings

* [VersionMapping] Require server version "r1427" for preview
2023-11-20 22:14:24 +01:00
schroda
cdf9229457 Feature/global update show last update time (#468)
* Show last global update timestamp

* Add update button to "Updates" screen
2023-11-19 22:43:29 +01:00
schroda
99ba45eceb Use mui tooltip for manga titles (#467) 2023-11-19 22:43:21 +01:00
schroda
dbb4bf70af Use correct local source header in settings (#466) 2023-11-19 21:22:21 +01:00