* 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
* 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"
Due to using "useEffect" the grid always rendered once with stale data, causing the error message to be shown.
With "useMemo" the latest data is always getting rendered immediately.
* 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>
* 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
"useMediaQuery" renders once with default values and only on the second render with the resolved values.
Thus, "lastPageNum" can potentially get initialized with the value for small/medium screens instead for large screens.
In case the "ignoreFilters" flag was set to true and the search string was empty/undefined all mangas of the category were visible, ignoring the set filters.
* Move "dependencies" close to "devDependencies"
Makes it easier to have a quick overview
* Upgrade "react-scripts" to latest version
With new versions of node (> v16) the build scripts fails with the following error "error:0308010C:digital envelope routines::unsupported"
* Upgrade "react-scripts" to v5 - Fix import
* Upgrade "eslint" dependencies
The latest version of "react-scripts" uses eslint v8 causing the following error "... ERROR in Plugin "react" was conflicted between ".eslintrc.js" >> eslint-config-airbnb ..."
* Upgrade "eslint" dependencies - Allow nested components as props
* Upgrade "eslint" dependencies - Fix lint issues
* Show empty library in case search doesn't match anything
In case the search didn't match anything all mangas where shown instead of an empty library.
* Rename filter manga function parameter and variable
Makes it easier to read
* 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
* add pagination to library and fix some prettier issues
* add genre search support like tachiyomi android app
* Search by genre like you do in tachiyomi mobile app
---------
Co-authored-by: akxer <>
* [Prettier] Increase max line length to 120
100 is quite low, especially on modern monitors.
The length is also reached quite quickly with 4 spaces per tab depending on the indentation depth
* [Prettier] Increase max line length to 120 - Fix formatting
* [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
* Fix library update progress rendering
The websocket sends a list with mangas for each category (completed, running, pending) instead of a number.
This resulted in the progress to always be 0
* Prevent TypeError
The "UpdateStatus" can have a "statusMap" that contains not data.
Co-authored-by: schroda <github@dasch.simplelogin.com>
* Refactor library options to match chapter options using shared component
* Disable some eslint rules
* Cleanup SourceOptions layout to use same components as other panels
* Wrap data fetching in library and manga screen with swr for better dev and user experience. Refactor some API calls and data handling. Add manual refresh to manga detail.
* Fix manga card layout
* Fix refresh button position on small screens
* Revert "Fix manga card layout"
This reverts commit d85da3d8385e1ef64feed1789e4cd4591c8bd563.
* Fix manga not setting title
* Move chapters loading to Manga component, join data fetching, add auto online fetch if fetched data is old
* Revert some changes
* Unified the way options are being handled. now everything uses the LibraryOptionsContext, removed the no-longer used useLibraryOptions hook
* removed query from library options. since it doesn't make sense for this to be cached
* fixed a bug in the useLocalStorage implementation
* move sorts to copy tachiyomi
is now in a tab along with filter ad display same as tachiyomi
* add comfortable grid
and all the stuff needed to make it easy to add more
* Revert "Merge remote-tracking branch 'upstream/master' into grid-types-(comfortable/list)"
This reverts commit 33eed92e8f7259ddce0e34ab59f721553bbb7e93, reversing
changes made to d699955345e253d2b2c2d837e76509a39b3bef00.
* - Changed the value in Manga from 960 to 900( md breakpooint)
- The CicularLoader in About and Reader screens is now centered to the whole screen
- Changed relative imports in About screen to absolute imports
- removed changed styles from Browse Screen, PageNumber
* Migrated Source Card, Extension Card and LoadingPlaceHolder to MUI system
* Migrated CategorySelect and LandSelect to using the sx prop
* migrated ReaderNavbar to mui 5
* - Removed Unused Styles from Page
- Migrated DoublePage, doublePagedPager, PagedPager, Vertical Pager and Horizontal Pager.
* Replaced style prop with sx prop
* removed useStyles completely from the project except for the Manga Screen
* added a comment
* Fixed the Source Card Buttons padding
* Removed the trailing backspace
Co-authored-by: Sascha Hahne <ntbm@users.noreply.github.com>
Co-authored-by: Sascha Hahne <ntbm@users.noreply.github.com>