* Fix RequestManager initial infinite swr requests
Functions always returned "null" as the url, which causes SWR to not send the request
- useGetSourceLatestMangas
- useSourceSearch
- useSourceQuickSearch
* Use "skipRequest" for infinite SWR requests
Is easier to use then overwriting "getEndpoint" only for specific cases
* Request correct first page for infinite SWR requests
The following endpoints start at page 1
- popular source mangas
- latest source mangas
- source search
- source quick search
* Remove wrong parameter from source manga browse requests
No idea why I've added this in the first place
* Correctly request "latest" and "popular" source mangas
The "page" wasn't a param of the query but part of the endpoint
* Introduce "RequestManager"
* Use "RequestManager" - Simple replacements
- Get rid of all "util/client" imports
- replace old requests with new "RequestManager"
- remove "fetcher" from global SWR config
instead of using the SWR hooks by themselves, the "requestManager" is supposed to be used
* Use "RequestManager" - Do requests via SWR hooks
Use SWR hooks at places where it's easily usable
* Prevent trailing slashes in the "baseUrl"
* Pass optional browser tab only title
Makes it possible to have a different title for the "NavBar" and the browser tab
* Show number of items in category and library
---------
Co-authored-by: schroda <github@dasch.simplelogin.com>
* Skip duplicate chapters in the Reader
* Debounce "end of page" handling in the reader
* Update keyboard event listener
In case the "go" function changed, the listeners have to be updated
* Fix i18n tsc issue
"t" can return null by default.
This was already disabled in the config, but it had no effect on tsc.
* Fix translation in "DefaultNavBar"
key was missing and since this is a constant the translation wouldn't update in case the language got changed after first load.
* Enable typing for i18n translation keys
* Add translation keys
* Rename file
".d.ts" files are files that are automatically generated during compilation (in case option is set) and shouldn't be created manually.
* Export types and interfaces
* Add missing imports