Commit Graph
41 Commits
Author SHA1 Message Date
schroda aad87463f3 [Codegen] Use gql for "loading chapters" 2023-10-27 20:23:44 +02:00
schroda 78049282a7 Use gql for "sources" - preferences 2023-10-27 20:23:05 +02:00
schroda 12dd973179 Use gql for "mangas" VI - source mangas filter 2023-10-27 20:23:05 +02:00
schroda 3297c7d96c Use gql for "mangas" V - update manga categories 2023-10-27 20:23:05 +02:00
schroda 87aef85683 Use gql for "mangas" IV - source mangas popular/latest 2023-10-27 20:23:04 +02:00
schroda 0a73496cba Use gql for "mangas" III - global search 2023-10-27 20:23:04 +02:00
schroda af9d49e5e9 Use gql for "mangas" II - category mangas 2023-10-27 20:23:04 +02:00
schroda 89dc053f00 Use gql for "mangas" I - get manga 2023-10-27 20:23:04 +02:00
schroda a5b4b95bce Use gql for "updater" 2023-10-27 20:23:03 +02:00
schroda 222f8f5c9b Use gql for "downloader" 2023-10-27 20:23:03 +02:00
schroda ca18e750bf Use gql for "categories" 2023-10-27 20:23:03 +02:00
schroda f0d55c01c8 Use gql for "updating chapters" 2023-10-27 20:23:03 +02:00
schroda c75e184c57 Use gql for "updating mangas" 2023-10-27 20:23:02 +02:00
schroda e1f338d013 Use gql for "sources" 2023-10-27 20:23:02 +02:00
schroda 4a80e18cd0 Use gql for "extensions" 2023-10-27 20:23:02 +02:00
schroda 81cfeedbba Use gql for "checkForUpdate" 2023-10-27 20:23:02 +02:00
schroda 59468bc568 Use gql for "about" 2023-10-27 20:23:01 +02:00
schroda 80cb06dfd5 Use gql for "global metadata" 2023-10-27 20:23:01 +02:00
schroda 181eb6c811 Add graphql logic to RequestManager 2023-10-27 20:23:01 +02:00
schroda 0ee47c872b Introduce "BaseClient" 2023-10-27 20:23:01 +02:00
schroda a0b686497f Move "RestClient" in sub folder 2023-10-27 20:23:00 +02:00
schroda bffc1669e2 Move "RequestManager" in sub folder 2023-10-27 20:23:00 +02:00
schroda 1c794c24b5 Setup intellij "GraphQL" plugin 2023-10-27 20:23:00 +02:00
schroda 87ddf2f844 [Codegen] Generate files
Even if they are generated files, they should be checked-in so that it's possible to check out an old commit and still have the same files as they were at the time the commit was created.
In case they wouldn't be checked-in and the schema has changed in the meantime, there is no possible way to build the same generated files anymore
2023-10-27 20:22:56 +02:00
schroda 55c1c51edd Create queries, mutations and subscriptions 2023-10-27 20:18:37 +02:00
schroda 48fe8d23e9 Fix/vite tsconfig setup (#404)
* Use "create-vite"s tsconfig files setup

The previous tsconfig file caused issues with vite throwing "missing identifiers of modules" errors

* Remove unused React imports

Starting with React 17 the nex JSX transform is being used
2023-08-14 21:43:06 +02:00
schroda cc4bf7bb32 Fix initial infinite swr request for pages > 1 (#367)
In case more than 1 page was requested for the initial request, there was a problem in case the first page already had no results.
In that case the request for the second page always returned with the "isLoadMore" and "isLoading" flag set to true.
Thus, incorrectly indicating that the request is still active.
The "actual" request was already finished, but internally the "isLoadMore" flag was set incorrectly due to not considering if an actual request is active.
2023-06-16 00:14:22 +02:00
schroda 21174dc04a Add the option to ignore SWR stale data (#356) 2023-06-08 13:40:50 +02:00
schroda 4b83ccc889 Feature/use alias for imports (#352)
* Use alias "@" for imports

* Use alias "@" for imports - Fix imports

* Use alias "@" for imports - Prevent faulty "import/extensions" linting issue

For some reason the rule throws an error for alias imports

* Use alias "@" for imports - Update "no-relative-imports" eslint rule
2023-06-05 01:42:39 +02:00
schroda 61975b5c49 Feature/update dependency react to v18.x (#346)
* Update dependency "react" to v18.x

Update to v18.2.0

* Update dependency "react" to v18.x - Fix some dependency version issue

Something caused weird tsc issues, most likely a version mismatch since it got fixed by doing a clean install (deleting node_modules folder, yarn.lock and clearing the cache) of the dependencies

* Update dependency "react" to v18.x - Fix "i18n" tsc issues

* Update dependency "react" to v18.x - Fix tsc issue

Typography can only have a single child

* Update dependency "react" to v18.x - Prevent build warning

TODO: migrate to Vite

Gets used without being declared as a dependency.
Since CRA is unmaintained this will not get fixed.

* Update dependency "react" to v18.x - Use "createRoot"

* Update dependency "react" to v18.x - Fix dnd in strict mode
2023-06-04 21:40:04 +02:00
schroda 0fb204f141 Feature/request manager remove get client usage (#325)
* Remove "getClient" usage from "metadata" util

* Remove "getClient" usage from "useRefreshManga" hook

* Remove "getClient" usage from "isDupChapter" util function

* Use correct endpoint for setting category metadata

"/meta" suffix was missing from url

* Use correct http method for updating manga metadata
2023-06-04 00:50:58 +02:00
schroda 207a87f3e9 Fix import backup file request (#326)
The file wasn't send correctly due to converting it to a string.
2023-06-04 00:32:08 +02:00
schroda eaa8392789 Fix axios requests (#324)
The response was the expected data and not the actual axios response.
Thus, there was no "data" property and trying to use it could lead to errors like e.g. TypeErrors.
2023-06-04 00:30:48 +02:00
schroda 46a7ff6e3b Feature/refactor source mangas screen (#314)
* Refactor "SourceMangas"

* Refactor "SourceMangas" - Show loading placeholder on filter reset or submit

Due to the url being the same for all "filter requests" the loading state doesn't get changed by SWR.
Instead, only the "isValidating" state gets updated.

* Refactor "SourceMangas" - Update routing

* Refactor "SourceMangas" - Prevent duplicated mangas in grid

There is a possibility that the "latest" endpoint returns the same manga on different pages

* Always set the toolbar content on the manga page

"setAction" wasn't called on the manga page, thus, in case the previous page didn't unset the action, it never got unset

* Rename source content type "Browse" to "Popular"
2023-05-28 12:16:06 +02:00
schroda f852255d82 Add additional info about SWR infinite load to response (#321)
The SWR response only has "isLoading" and "isValidating".
"isLoading" only indicates the initial load.
For every subsequent load, only "isValidating" gets set to true.
2023-05-28 02:18:23 +02:00
schroda 0d36d2dcfb Feature/request manager make requests abortable (#316)
* Make requests abortable

* Make requests abortable - Fix usage
2023-05-23 13:27:38 +02:00
schroda 95ceac335b Update to axios v1.x (#315)
Update to axious v1.4.0
2023-05-23 13:25:48 +02:00
schroda 84433ffff8 Support SWR infinite requests via POST (#313)
* Support SWR infinite requests via POST

* Correct "source quick-search" request
2023-05-22 14:04:05 +02:00
schroda 6fd0dd0dad Fix "setSourceFilters" request (#312) 2023-05-22 14:03:50 +02:00
schroda 0cd5720f54 Fix/request manager infinite swr requests (#306)
* 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
2023-05-20 13:12:23 +02:00
schroda a457d80c44 Feature/streamline backend requests (#297)
* 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"
2023-05-18 13:25:19 +02:00