* Update local storage functions
* Update local storage hooks
* Add session storage
* Improve storing virtuoso grid snapshot
* Use "useSyncExternalStore" for browser storage access
* Get rid of location replacements in "AppbarSearch"
Use session storage instead to prevent reloading the page all the time due to changing the location
* Get rid of location replacements in "SourceMangas"
Use session storage instead to prevent reloading the page all the time due to changing the location
* 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-router-dom" to v6.x
Update to v6.11.2
* Update dependency "react-router-dom" to v6.x - Replace "Switch" with "Routes"
* Update dependency "react-router-dom" to v6.x - Relative paths
* Update dependency "react-router-dom" to v6.x - Nested routes
* Update dependency "react-router-dom" to v6.x - Prevent route warnings
- Route without an element causes a warning message.
- Routes with non-matching Route causes a warning message.
* Update dependency "react-router-dom" to v6.x - Replace "useHistory" with "useNavigate"
* Update dependency "react-router-dom" to v6.x - Fix "Link" usage
* Update dependency "react-router-dom" to v6.x - Overwrite "useParams" and "useLocations" typing
For both functions it's the users fault if they are getting used incorrectly.
It's inconvenient to always have to make sure the params exist (useParam) or to cast the return object to a specific type (useLocation)
- "useParams": Make generic type non-optional
- "useLocation": Add generic type
* Update dependency "react-router-dom" to v6.x - Fix use-query-params provider
* 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"
* [Prettier] Add "prettier"
Makes the formatting of the code consistent.
By using the eslint-plugin-prettier formatting issues will be highlighted as a lint error.
These errors will be auto fixed by running "lint --fix" (which can be done automatically on file save)
* [Prettier] Add "prettier" - Fix formatting
* Move context providers and configuration providers to separate component, extract theme to separate file
* Use custom palette color instead of direct colors
* Replace different clicable things with CardActionArea to get transition and links
* Refactor DownloadQueue, update layout, unify all the download progress indicators
* Unify active filter indicator
* Use divider instead of hr
* Fix background color in extensions light theme
* Fix thumbnail overlay in library screen list view
* Don't show download button on downloaded updates