* 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
The first unread chapter was retrieved from the filtered and sorted chapter list, which could result in e.g. incorrectly recognizing the latest released chapter as the first unread chapter.
Ideally the server would return the manga with its last read chapter, but this is currently not available.
* 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 <>
* Correctly scroll to page
Using "curPage" as the "initialPage" broke "scrolling up".
The page got reset to the first page in that case
* Support resume and scrolling to page for "DoublePagedPager"
* Support resume and scrolling to page for "PagedPager"
* Prevent "ReaderNavBar" from disappearing in "VerticalPager"
Due to handling the overflow on the "root" div and the "nav bar" being sticky and having a combined with of 100vw with the "vertical pager", once the first page was reached, that was behind the 100vw, the "nav bar" got moved out of the screen.
This made using the "nav bar" unusable for the "vertical pager".
* Add chapter dropdown to reader chapter nav buttons
Makes it possible to select a specific chapter inside the reader without having to leave and open the manga page
* Always show chapter nav buttons
In case they are unusable, they will be disabled
* [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
* Add script to run eslint for the project
* Add GitHub Action for linting
Prevent merges with linting errors
* Rename GitHub Action "build_push" to "build_push_master"