* Extract CategorySelect usage into hook
* Extract logic to change manga in library state into hook
* Change manga in library state on long press when browsing source
* Move button icon on top of text on small screens
* Fix colors of buttons
In case a manga is in the library all buttons were colored blue instead of only the library button.
Use white as default color since buttons can also be disabled and with a grey default color it's not easy to tell if the button is disabled or not
* Remove wrapping "button" inside "a" tag
* Create "Categories" util class
* Only show add to library category selection in case categories exist
* Add edit categories button in select categories dialog
* Add option to disable add to library dialog to the dialog
In case the fetch timestamp of a manga changed, it's possible that the thumbnail has changed as well, thus, the currently cached image should be ignored
* Prevent TypeError when deselecting items from a specific key
This was noticed when changing the categories of a manga to a category without any selected mangas, in this case, when trying to deselect a manga after changing the categories, a TypeError was thrown which resulted in a white screen
* Remove duplicates from the list of all selected ids
* Update state via setter
* Clear selection after disabling the library selection mode
* Remove console log
For a single manga the "mangaId" should be passed while "mangaIds" is empty, however, the "mangaIds" were passed as an empty array which caused an empty array of manga ids to be passed with the mutation
* Move menu components into new dir
* Move chapter components into new dir
* Extract menu helper functions
* Move "SelectionFAB" to "collection" dir
* Move debounce hook to global utils dir
* Rename manga "hooks" to "useRefreshManga"
* Extract chapter actions into "Chapters"
* Extract chapter action menu into component
* Rename "SelectionFABActionItem" to "MenuItem"
* Decouple "MenuItem" from "SelectionFAB"
* Use "MenuItem" in "ActionMenus"
* Merge chapter action menus
* Simplify chapter "mark as read" action
* Use app routing to open reader
Otherwise, the app loses the navigation history and won't open the last page (library) when closing the reader
* Prevent setting 0 as grid width
After the change of 4ebe6494f6c97c0d064c617f70b36682e6aedcb2, closing the reader and coming back to the library resulted in a single manga per row, due to the grids width being 0.
* Move "SearchSettings" into "LibrarySettings"
* Change property "setOpen" to "onClose" for "CategorySelect"
* Optionally show category selection when adding manga to library
* Update "ignore filters" translation
* Move "ignore_filters" setting to "metadataServerSettings"
* Extend "IMangaGridProps" from "DefaultGridProps"
* Move library manga filtering into hook
* Add logic to select mangas
* Add manga actions
* Remove cache only policy for category mangas
Unclear why this was added
* Prevent SelectionFAB from being hidden by the mobile footer
On e.g. the library page, the footer is visible and thus, the fab was not completely visible
* Update categories of manga only after clicking "OK"
Previously, selecting a category resulted in an immediate mutation.
To be able to reuse the "CategorySelect" component to change the categories of multiple mangas at once, this behaviour is not suited.
* Add action to change categories of multiple mangas
* Cancel selection mode after removal from library
The mangas would still be selected and other action could get performed. However, this should only be possible for mangas that are in the library
* Remove unintentionally added console log
Accidentally added with 980da657d9
* Introduce "selectable collection" hook
* Extract "select all" button into component
* Make "SelectionFABActionItem" reusable
Was to tightly coupled to chapters
* Make "SelectionFAB" reusable
Was to tightly coupled to chapters
* Add missing translations keys
* [Codegen] Update to latest server schema changes
* [VersionMapping] Require server version "r1431" for preview
* Rename "deleteChaptersAutoMarkedRead" metadata setting
* Add more options to auto delete chapters while reading
Makes it possible to delete the last to fifth to last read chapter instead of only being able to delete the last read chapter
* Exclude the current chapter in the "mark prev as read" action
* Prevent unnecessary request for first chapter
In case "mark prev as read" gets called for the first chapter, the is no chapter to mark as read, thus, no request has to be sent
* [Codegen] Request less fields for category mutations
* [Codegen] Request less fields for chapter mutations
* [Codegen] Request less fields for downloader mutations
* [Codegen] Request less fields for extension mutations
* [Codegen] Request less fields for manga mutations
* [Codegen] Request less fields for source mutations
* [Codegen] Request less fields for updater subscription
* [Codegen] Request less fields for downloader subscription
* [Codegen] Combine chapter update mutations
* Download next chapters when marking chapter as read while reading
* Add "auto delete chapter" settings
* Delete chapter after finished reading
* Delete chapters after marking them as read
* Improve "mark previous as read" action
Send only ids of chapters that are actually unread
The MUI Checkbox component has a z-index of 1, which causes it to register the mouse events instead of the "SelectionFAB" which is visually in front of it
The default category is used as a fallback and should never be actually mapped to mangas in the database.
However, when using the update manga category mutation the server still creates this mapping, which then leads to issues with getting mangas for the default category