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
* [Tooling] Select git commit author correctly
Caused the credit for a commit without a pr id to show as "@[object Object]"
* [Tooling] Fix typo in file name
* [Tooling] Use total commit count from webUI repos master branch
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
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"
* 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
* 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
* 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.
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
* [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
* Download next chapters when marking chapter as read while reading
* Add "auto delete chapter" settings
* Delete chapter after finished reading
* Delete chapters after marking them as read
* Improve "mark previous as read" action
Send only ids of chapters that are actually unread
Some settings use 0 as the disabled state.
In this case, the previous enabled value was lost.
To prevent this, the last value now gets saved and set again when enabling the setting again
* Move "Server Address" setting to server settings
* Rename "ServerDirSetting" to "TextSetting"
* Use "TextSetting" for server address
* Reset value when closing the dialog
* Support passwords in "TextSetting"
* Add server settings
* Auto open search correctly in global search
* Update search input when navigating to previous/next location
* Revert: Navigate to previous page when canceling search
Has to many edge cases and fixing them would require a global history stack which gets saved in the location state.
This then would lead to the apps internal back navigation to be the same as the browsers which is not wanted, since you should not get moved deeper into the apps navigation when clicking the back button
* Correctly autofocus search input
Sometimes the autofocus did not work, since the input did not exist yet by the time the timeout was triggered
* Restore search input open state when navigation to previous/next location
* Restore search input focus when navigating to previous/next location
* Require search to be committed with enter
* Extract back navigation logic into hook
* Navigate to previous page when canceling search
This makes the search the next page in the history stack instead of making it the previous one
* Close and open search depending on the location and available query
* Navigate to previous page in case new query is empty
* Scroll up when clicking shift + space
* Add keyboard bindings to arrow up and down
Align scroll amount with using other keys like space, arrow right/left
* Add scroll inversion with shift to other key bindings
* Scroll per mouse dragging