* 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
* 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"
* 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
* [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
* [#214] Move "reader settings" util functions into new file
* [#214] Extract "options" of "ReaderSettings" to new component
* [#214] Add component for changing the default reader settings
* [#214] Add default "ReaderSettings" to "Settings"
* [#214] Use default "ReaderSettings" stored on the server
Wait for both "manga" and "defaultSettings" to be loaded.
Otherwise, by the time the "manga" response was received, the "defaultSettings" might be still loading and thus, the local fallback "default" settings will get used as the "default settings"
* [#214] Save and update "ReaderSettings" options in case they are missing
- Manga gets read the first time => save settings in metadata
- Default settings get opened the first time => save settings in global metadata
* 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
* 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
* mass search
currently cripples server for like 2 mins on use
* works
its slow, really slow
but it don't break the server anymore
* concurrency using p-queue
* remove package.lock + search auto select
* sorting like yomi
* fix yarn.lock
* source genre filter
much the same as the library version
* undo
* base
base + SelectFilter + CheckBoxFilter
haven't done useQueryParam yet
* gui done
left to do:
1.saving the input data (so it don't disappear when closing the drawer)
2.post to update
3.reload list after drawer close
* done ish
* done im tired
* ok, actually done now
worked out the breaking that was happening in the last commit
im probably using useState for more than is nessessary, only really needed to do triggerUpdate and Data
* key error/warning fix
* issues all done
* remove junk
* jank back button fix
i re-used the query querystring
* reove single search
* boi was that a pain to fix
* Update App.tsx
* added an optional url parameter to the library path to get to a particular tab
* Added Error checking when taking the parameter from the Url
* Now Tabs persist with library options
* FIxed a bug which made the backbutton appear in the Library route when tabs number was presents in the url
* - 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>
* - implemented Botton navbar for mobile devices
- Also made navbar conditional to render only when its on of the paths in the navbar
* - Added text to the mobile bottom bar
- Changed /downloads Path title to Downloads
- Added conditional paddingBottom when on mobile
* Made the Sidebar Seperate component used just for Non-Mobile Devices
* Added the main Material UI System package
* Extracted the Bottom Navbar into a seperate component
* updated the mui dependencies
* sidebar is working in the desktop mode
Still needs a few styling imporvements
* - made the color of the sidebar same as the Navbar
- increased font size in when using on a non-mobile device
* changed the main view padding to 64px
* Settings changed a few values to be based on the Theme object
* - Added ToolTip
- Fixed a Typo
- Renamed mobileDevice to isMobileWidth
- changed text property to Title in NavbarItem
* increased tooltip fontsize