The "loading" and "networkStatus" state do not get correctly updated when e.g. calling "fetchMore".
This seems to happen because an abort signal is passed on every hook call.
Due to passing this signal, the passed args to the hook change, and thus, it looks like apollo considers this a completely new hook call.
By preventing the signal from being passed, the hook correctly updates these states, but, on the contrary, it is not possible to abort these requests anymore
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
* 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
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.
* 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
* 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
* 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
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.
* 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"
The SWR response only has "isLoading" and "isValidating".
"isLoading" only indicates the initial load.
For every subsequent load, only "isValidating" gets set to true.