Commit Graph

126 Commits

Author SHA1 Message Date
schroda
1b28ae27fa Feature/cleanup manga card (#716)
* Extract manga badge components

* Extract list/grid manga card

* Disable default promise error handler in production
2024-04-07 21:30:47 +02:00
schroda
ca8daab0da Change manga in library state on long press in list mode (#715)
Was forgotten in 29860482a6
2024-04-07 21:19:12 +02:00
schroda
29860482a6 Feature/browse source manga long press remove add manga from library (#710)
* 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
2024-04-07 15:33:08 +02:00
schroda
41d876e156 Feature/utilize long press (#709)
* Open manga action menu on long press

* Open chapter action menu on long press
2024-04-07 15:21:25 +02:00
schroda
dc1a6cbd16 Feature/update dependencies (#685)
* Update dependencies

* Add missing "graphql" peer dependency
2024-03-31 23:34:40 +02:00
schroda
7990ffda71 Add track action to manga action menu in library 2024-03-29 00:45:38 +01:00
schroda
66c57a542b Implement binding manga to tracker 2024-03-29 00:45:38 +01:00
schroda
23c353d52e Prevent fragment inside MUI Menu (#678) 2024-03-29 00:15:31 +01:00
schroda
1b81e1e824 Fix/manga details buttons (#677)
* 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
2024-03-29 00:15:03 +01:00
schroda
452ac4fd9a Properly disable open source button in manga page (#663) 2024-03-22 03:33:19 +01:00
schroda
0c22a9012e Feature/cleanup metadata related logic (#657)
* Remove unnecessary parameter from "requestUpdateServerMetadata"

* Streamline updating metadata server settings

* Move metadata related logic
2024-03-16 16:21:15 +01:00
schroda
0f3549ead9 Fix/manga migrate option shown for non library manga on large screens (#637)
This happened only on large screens
2024-03-04 20:40:47 +01:00
schroda
8bdf035ca7 Feature/add option to remove manga from categories when removing from library (#633)
* Optionally remove manga categories when removing them from library

* Use "Mangas::removeFromLibrary"

* Handle uncatched promises
2024-03-02 15:28:58 +01:00
schroda
c5a5c4b8af Fix/add manga to library without dialog not adding default categories (#632)
* Add default categories when adding manga to library without dialog

* Add manga to library and update categories in one mutation
2024-03-02 15:26:15 +01:00
schroda
eb233aef3d Feature/improve add to library category selection dialog (#631)
* 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
2024-03-02 15:23:12 +01:00
schroda
aea112e292 Create correct manga thumbnail url (#601)
Regression introduced with c099e01fb7
2024-02-16 21:21:47 +01:00
schroda
c099e01fb7 Add manga fetch timestamp to thumbnail url (#598)
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
2024-02-16 19:38:13 +01:00
schroda
d6468bca57 Add manga migrate option to menu on mobile devices (#584)
Should have been added with e0c5e0521d
2024-01-29 20:55:26 +01:00
schroda
891d6f4165 Fix/manga migration opening search twice (#586)
* Update "MenuItem" props

* Navigate to manga migration only once

* Remove disabling migrate button on manga refresh

too much copy&paste
2024-01-29 20:54:56 +01:00
schroda
e0c5e0521d Feature/manga migration (#536)
* Add "migration" tab to "Browse" screen

* Add missing useEffect cleanup for navbar title and actions

* Make "SourceGridLayout" reusable

* Add migration tab to "Browse"

* Add migration logic
2024-01-26 20:50:51 +01:00
schroda
dcbf5a1899 Fix/library manga selection type error (#566)
* 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
2024-01-21 22:31:43 +01:00
schroda
f8e1bfc401 Correctly change the category of a manga from the library (#560)
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
2024-01-17 13:46:05 +01:00
schroda
37ce494fda Log promise failures instead of ignoring them (#531)
In case the failure does not get handled, it should at least get logged, to prevent silently ignoring it
2023-12-31 01:42:54 +01:00
schroda
37d6b84cf4 Use correct titles for manga actions in selection mode (#529)
Should have been changed with ecea80f41e
2023-12-30 15:05:54 +01:00
schroda
edc2a62a76 Feature/cleanup files (#528)
* 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"
2023-12-30 14:30:04 +01:00
schroda
ecea80f41e Merge manga action menus (#527) 2023-12-30 14:26:50 +01:00
schroda
a3a52064cc Feature/cleanup chapter actions (#525)
* 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
2023-12-30 04:04:59 +01:00
schroda
f81b20b4fd Fix/library continue read button causes page refresh (#521)
* 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.
2023-12-28 16:07:50 +01:00
schroda
e025efb9dc Feature/add manga to library category select dialog (#519)
* 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"
2023-12-27 18:08:16 +01:00
schroda
446deeae06 Feature/library manga actions (#506)
* 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
2023-12-25 21:37:45 +01:00
schroda
c115fcd573 Feature/make selection logic reusable (#515)
* 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
2023-12-25 21:20:00 +01:00
schroda
168e8f82f6 Use "Footer" to prevent fab overlapping the last item (#517) 2023-12-25 21:15:31 +01:00
schroda
2f8c284c8b Add continue read button to library (#505) 2023-12-19 15:17:00 +01:00
schroda
953ebbe5a6 Add button to mark all chapters as read 2023-12-18 22:46:50 +01:00
schroda
5010b706fd Add button to download all chapters 2023-12-18 22:46:50 +01:00
schroda
90cec35358 Add button to quickly select all chapters 2023-12-18 22:46:50 +01:00
schroda
226f2e170f Handle line breaks in the manga description 2023-12-18 22:46:42 +01:00
schroda
f542c17fd6 Update download subscription to server changes
The download subscription now sends messages for finished downloads, thus, it's not required anymore to refetch the chapters.
2023-12-16 20:35:35 +01:00
schroda
ad0f072651 Feature/automatic chapter deletion more options (#484)
* 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
2023-12-05 22:20:13 +01:00
schroda
ee03c56684 Fix/mark previous as read action includes the selected chapter (#483)
* 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
2023-12-05 22:18:53 +01:00
schroda
7adc28a35c Feature/gql improve queries mutations subscriptions (#470)
* [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
2023-11-24 03:17:49 +01:00
schroda
d12ac27b61 Feature/download ahead while reading (#464)
* 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
2023-11-19 21:17:35 +01:00
schroda
9284e46c45 Prevent SelectionFAB from being behind the "ChapterCard" checkbox (#445)
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
2023-11-05 17:22:35 +01:00
schroda
4ab61723e7 Add missing tooltips (#444) 2023-11-05 17:22:29 +01:00
schroda
529fcf2d25 Mark first chapter as read for "mark previous as read" (#435) 2023-10-29 13:32:47 +01:00
schroda
4c6e9a8aa1 Do not add mangas to the default category (#433)
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
2023-10-29 13:15:17 +01:00
schroda
5a5b12a9e1 [ESLint] Prefer named exports (#427) 2023-10-28 00:32:02 +02:00
schroda
2297f36efb Add manga to default categories when adding to library 2023-10-27 20:23:47 +02:00
schroda
b3a432ed2e Update typings 2023-10-27 20:23:46 +02:00
schroda
d3e15e9d3b Use gql for "subscriptions" 2023-10-27 20:23:45 +02:00