Commit Graph

1375 Commits

Author SHA1 Message Date
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
6716339c0e Set default value for resetting to 50% (#585)
Should have been updated along with 2dab88eb7e
2024-01-29 20:55:16 +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
10ec7de628 Correctly calculate width (#578) 2024-01-26 23:59:12 +01:00
schroda
f335b59dca Actually send library db cleanup mutation (#577) 2024-01-26 21:36:07 +01:00
schroda
18ca66cb40 Feature/settings add flaresolverr (#568)
* [Codegen] Update to server changes

* Set "dialogTitle" by default to "settingTitle" for "NumberSetting"

* Add FlareSolverr to settings

* [VersionMapping] Require server version "r1477" for preview

* Replace static strings with translation keys
2024-01-26 21:20:06 +01:00
schroda
771d6beb18 Add missing gap to VerticalReader mode with fit to window setting (#574) 2024-01-26 20:55:27 +01:00
schroda
ab4cddfedd Force a reconnect in case a heartbeat is missing (#569)
There seems to be cases where the connection is lost without the client being able to reconnect (e.g. active subscription -> system hibernation -> waking up system => not receiving any messages anymore).
2024-01-26 20:55:14 +01:00
schroda
15825fbe53 Prevent pages from being bigger than the 100% in width (#573) 2024-01-26 20:54:38 +01:00
schroda
2dab88eb7e Decrease default "reader width" to 50% (#576) 2024-01-26 20:54:19 +01:00
Chance Zibolski
4d75474b39 Fix reader width (#567)
* Fix reader width

The margin: auto on the Box container for the image was preventing 100% width
to actually mean 100%.

Now that 100% is actually possible, I think fitPageToWindow makes more
sense as a default. Additionally, since the image can fill 100% of the
page, it can cover the ReaderNavBar, so set the z-index of the
ReaderNavBar so it's rendered on top of the image and clickable.

Signed-off-by: Chance Zibolski <chance.zibolski@gmail.com>

* Support configuring reader width for DoublePage readers

Signed-off-by: Chance Zibolski <chance.zibolski@gmail.com>

* Fix single page of DoublePageReader not being able to take up full width

In case the parent container is flex row, the container does not automatically take up 100% of the available width, thus, the page also was not able to take up 100% of the width

* Fix applying reader width to double pages

The set reader width can't be applied to each page of the double pages because otherwise it will already take up 100% of the available width with the setting only being at 50%.

Instead, the set width has to be divided by 2, so that both pages take up the set reader width

* Prevent double page spinner from being larger than 100% of the available width

* Update width styling of the page spinner

* Always center pages in the middle of the screen

* Take up full height fitting page to window height

---------

Signed-off-by: Chance Zibolski <chance.zibolski@gmail.com>
Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2024-01-26 20:51:08 +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
5224ad1391 Add missing id to request (#571)
The id is required to normalize the data
2024-01-26 20:50:09 +01:00
schroda
6edf3bad64 [ESLint] Allow zero warnings (#575) 2024-01-26 20:49:43 +01:00
Chance Zibolski
5032a0ae94 Make reader width configurable (#565)
Signed-off-by: Chance Zibolski <chance.zibolski@gmail.com>
2024-01-21 22:33:13 +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
69a62b6c2c Add webUI settings again (#564)
Was accidentally removed with e10cbf9e8f
2024-01-21 22:31:27 +01:00
schroda
24379c1e46 Infinitely try to reconnect gql subscriptions (#563) 2024-01-21 22:31:20 +01:00
Chance Zibolski
05f57730db Support configuring automatic downloads by category (#562)
Signed-off-by: Chance Zibolski <chance.zibolski@gmail.com>
2024-01-21 22:31:04 +01:00
schroda
de596426bf [Codegen] Update generated files (#561)
Should have been updated with 1c2a196950
2024-01-17 13:48: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
1c2a196950 Fix/adding manga to library not updating category (#559)
* Refetch categories after updating a manga

After adding/removing a manga to/from the library, the categories did not update.

* Include manga categories int the manga update mutation response
2024-01-17 13:45:30 +01:00
schroda
e10cbf9e8f Add extension settings screen (#557) 2024-01-15 23:48:11 +01:00
schroda
f0e1bd3249 Feature/extension list show info when no repo is defined (#556)
* Show add extension repo info in case no repo is defined

* Update extension repositories localization
2024-01-15 23:22:35 +01:00
schroda
42e3d64f80 Clear extensions cache after extension repos change (#555)
This will force a refetch of the extensions the next time the list gets opened which will update the extensions on the server
2024-01-15 23:22:25 +01:00
schroda
bed586383f Update extension repo regex to server changes (#554) 2024-01-15 23:22:18 +01:00
schroda
6708a958ce Render selection fab in case only one category exists (#553) 2024-01-15 21:19:35 +01:00
schroda
38b364bb55 Remove reader webtoon mode page gaps (#552)
Regression introduced with 199b62341f
2024-01-15 14:27:29 +01:00
schroda
738a22233b Internationalize failed img retry text (#551) 2024-01-15 00:55:39 +01:00
schroda
199b62341f Feature/add retry button for failed image requests (#550)
* Improve img loading placeholder

Prevent showing a loading placeholder in case the image is already cached.

* Add failed img load retry button
2024-01-15 00:32:39 +01:00
Robert Perez
9962e0713d Adding page loading with Double Page Mode. (#480)
* page loading works and looks good now to make double page work with it

* Update double page spinner styling

* Render pages everytime the component gets rendered

- remove refs because they do not trigger a rerender
- remove initial render interval
- remove page rendering via portal

During the initial render nothing got rendered (pages or placeholder) because for that to happen, the images had to be loaded.
Thus, the loading placeholder never got shown.

* Enable skipping forward while pages are loading

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2024-01-15 00:29:51 +01:00
schroda
be5497af94 Add new library sort options (#547)
- latest fetched chapter
- latest uploaded chapter
2024-01-11 03:56:04 +01:00
schroda
3973eda089 [ServerMapping][Codegen] Update to latest server gql MangaType changes (#546) 2024-01-11 03:53:06 +01:00
schroda
955cc682fd Apply filters when searching in SourceMangas (#545) 2024-01-11 02:57:56 +01:00
schroda
89e8472ebc Add disclaimer to custom repositories setting (#544) 2024-01-09 22:09:43 +01:00
schroda
fd1fa63064 Feature/show extension repo only in case more than one repo is set (#543)
* Rename "isSingleRepoSet" prop to "showSourceRepo"

* Show repo of source in case sources of different repos are installed

* Center the source icon
2024-01-09 22:09:31 +01:00
schroda
684ae69470 Update tokens (#542) 2024-01-07 20:41:57 +01:00
Hosted Weblate
1b3cc6bfe3 Translations update from Hosted Weblate
Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (354 of 354 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 96.3% (339 of 352 strings)

Translations update from Hosted Weblate

Translated using Weblate (Vietnamese)

Vietnamese: currently translated at 56.5% (191 of 338 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 100.0% (338 of 338 strings)

Translations update from Hosted Weblate

Translated using Weblate (German)

German: currently translated at 31.6% (107 of 338 strings)

Translations update from Hosted Weblate

Translated using Weblate (Chinese (Simplified))

Chinese (Simplified): currently translated at 93.3% (308 of 330 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (330 of 330 strings)

Translations update from Hosted Weblate

Translated using Weblate (Spanish)

Spanish: currently translated at 100.0% (328 of 328 strings)

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: 志明 <chen5418@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/tachidesk-webui/de/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/tachidesk-webui/es/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/tachidesk-webui/vi/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/tachidesk-webui/zh_Hans/
Translation: Suwayomi/Tachidesk-WebUI
2024-01-07 20:29:19 +01:00
schroda
8faa756ab5 Feature/improve custom extension repos support (#540)
* Move "TextSetting" to new folder

* Extract dialog of "TextSetting"

* Immediately show dialog when adding a list item

* Reuse "TextSettingProps" for "MutableListSetting"

* Add "placeholder" prop to "MutableListSetting"

* Prevent duplicates by default

* Clear dialog values on save

* Validate repo url
2024-01-07 16:30:40 +01:00
schroda
39b79c6ebe Feature/settings support custom extension repos (#539)
* [Codegen] Support custom extension repos

* [VersionMapping] Require server version "r1444" for preview
2024-01-06 18:38:16 +01:00
schroda
b42c3103f1 Feature/rebrand to suwayomi (#500)
* Rename "Tachidesk-WebUI" to "Suwayomi-WebUI"

* Rename "Tachidesk-Server" to "Suwayomi-Server"

* Rename "Tachidesk" to "Suwayomi"

* Rename variables
2024-01-05 20:11:29 +01:00
schroda
779dafe1dc Pass correct group sizes to "GroupedVirtuoso" (#537)
One item was always hidden from the list.
Noticed during searching for a specific extension, which caused the list to only have one item, which was not shown

Was incorrectly changed with db65b9df44
2024-01-03 18:57:12 +01:00
schroda
db65b9df44 Feature/merge source and extensions screen on desktop (#535)
* Merge "source" and "extension" screen for desktop

* Move "tab" related components into new folder

* Reuse "tab" components for "browse" screen

* Prevent extension list from being taller than 100% of the parents height

- remove margin - virtuoso has issues calculating the height otherwise
- change group title styling, fontSize caused issues

* Align "source" list group header with "extension"

* Remove bottom padding from "ExtensionCard"

* Move "GroupedVirtuoso" related components into folder

* Use "GroupedVirtuoso" for "extensions"

There was an issue with the height calculation of the virtuoso list, which apparently was caused by the conditional rendering of the group title and item as list items.
Due to this, while scrolling down, the virtuoso list caused an overflow, which rendered the scrollbar, which in turn caused the list items to shrink in width.
The end result of this was, that the list items "jumped" slightly on the initial render of the items, due to the scrollbar appearing and disappearing
2024-01-02 23:32:49 +01:00
schroda
9caca6e753 Update dependencies (#534) 2024-01-02 16:46:41 +01:00
schroda
6c46c56252 Handle showing disabled state of automatic chapter deletion (#533)
The disabled state (0) was incorrectly handled as the downloading state
2024-01-02 16:14:19 +01:00
schroda
05fa3d0732 Fix/chapter not getting deleted after being read (#532)
* Create permanent subscriptions

The subscriptions have to be permanently open, otherwise, the cache gets outdated.

E.g. in case a view is open, which does not subscribe to the download updates, finished downloads are never received and thus, data of existing chapters/mangas in the cache get outdated

* [Codegen][Tool] Get latest data from cache for automatic chapter deletion after reading

The manga chapters query is on "standby" to prevent the reader from rerender in case the underlying query data updates, which would cause the reader to jump back to the beginning of the last read page.
Thus, when checking if the chapter should be automatically deleted, the data from the query can't be used, since it is outdated.
2024-01-01 22:40:39 +01:00
schroda
7d3d82556a Handle extension update failure (#530)
The failure was never handled and instead, the update was infinitely stuck in progress.
2023-12-31 01:46:53 +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