Commit Graph
100 Commits
Author SHA1 Message Date
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 d9d92a75fa Handle source not supporting browse "latest" (#443) 2023-11-05 17:22:16 +01:00
schroda 134e47763f Feature/update dependencies (#442)
* [Tooling] Fix "updateDeps" script

For some reason commands after "yarn outdated" did not get executed

* [Tooling] Show "outdated" info at end of "updateScript"

* Update dependencies

"apollo-upload-client" v18 requires migration to ts module "nodenext"
2023-11-04 23:11:40 +01:00
schroda 7cb062d453 Feature/extensions always use fetch mutation to get list (#440)
* Reset the cache after importing a backup

* Add option to delete cached data after ttl is reached

* Always use mutation to get extensions list
2023-11-04 22:40:38 +01:00
schroda 2c35808ee4 Fetch chapter pages everytime unless chapter is downloaded (#439)
In case the chapter is not downloaded, the chapters pages have to be always fetched, since there is a possibility, that the chapter data is so old, that the available pages data is outdated.
2023-11-04 22:40:21 +01:00
schroda a6cc757d50 Feature/global update settings update manga metadata (#441)
* Add "updateMangas" setting to global update settings

* Sort "en.json" alphabetically
2023-11-04 14:55:25 +01:00
schroda 14e7af9a4a Feature/modify download settings (#429)
* [Codegen] Update settings fragment

* Extract logic to change a number setting

* Show slider for global update interval setting

* Add download settings
2023-11-04 14:40:43 +01:00
schroda 1acda66b16 Feature/update backup restore to server changes (#438)
* [Codegen] Update back query/mutation

* Update backup restore

* [VersionMapping] Require server version "r1410" for preview
2023-11-02 13:01:01 +01:00
schroda cc59f88a1d Correct library error translations (#437) 2023-11-01 14:26:57 +01:00
schroda a638333684 Handle source browse when first page is also the last page (#436)
In case the first page was also the last page, there is no next page that can be fetched.
On large screens, where the initial pages to fetch are 2, this resulted in an endless loading screen
2023-10-29 20:51:53 +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 678df88068 Feature/modify global update settings (#432)
* Move setting components in "settings" folder

* Add setting to change global update automation
2023-10-29 02:01:59 +02:00
schroda 4c6d507405 Feature/show backup restore progress (#431)
* Extract "Progress" component

* Show backup restore progress
2023-10-29 01:49:27 +02:00
schroda 30fd8b0fca Feature/support new tachiyomi backup file extension (#430)
* [Codegen] Fix restore backup mutation/query

The server doesn't support nested objects for file uploads

* Support new tachiyomi backup extension
2023-10-29 01:45:08 +02:00
schroda 5a5b12a9e1 [ESLint] Prefer named exports (#427) 2023-10-28 00:32:02 +02:00
schroda 68e7b4b16d Feature/library global update exclude manga with state (#281)
* Extract global update settings

* Add option to exclude mangas with specific state from global update
2023-10-27 23:39:05 +02:00
schroda c8f02b3b8c [ESLint] Add "no-unused-imports" plugin (#426) 2023-10-27 21:19:45 +02:00
schroda 76d1ba835c Merge pull request #395 from schroda/feature/use_graphql
Feature/use graphql
2023-10-27 21:10:07 +02:00
schroda 09c7e804ba Refresh library mangas after update
the gql updater subscription currently return stale data, thus, the mangas do net get updated in the cache
2023-10-27 21:03:37 +02:00
schroda b1aaeb4d5d Show loading text for include/exclude categories setting
Due to setting categories to be an empty array by default, the loading text was never shown
2023-10-27 21:03:37 +02:00
schroda 2ad9ccd9bd Use gql for loading default category mangas 2023-10-27 20:23:47 +02:00
schroda b6382bb33a Load only category mangas that are in the library 2023-10-27 20:23:47 +02:00
schroda 2297f36efb Add manga to default categories when adding to library 2023-10-27 20:23:47 +02:00
schroda e2fed69c90 Optimistically refresh categories on reordering 2023-10-27 20:23:46 +02:00
schroda b7e1afd4f4 Update refetching queries and evicting cache data 2023-10-27 20:23:46 +02:00
schroda 5263a1102c Rename "doRequestNew" to "doRequest" 2023-10-27 20:23:46 +02:00
schroda b3a432ed2e Update typings 2023-10-27 20:23:46 +02:00
schroda 16ebfcb51f Correctly update extensions language selection
Was only updated after clicking "OK" once.
This was caused due only updating the language selection once the app language was changed or in case the selected languages (after clicking "OK") changed
2023-10-27 20:23:45 +02:00
schroda fbcc1fb91a Add optional options arg to all requests 2023-10-27 20:23:45 +02:00
schroda d3e15e9d3b Use gql for "subscriptions" 2023-10-27 20:23:45 +02:00
schroda b79fbcf71d Setup graphql subscriptions 2023-10-27 20:23:45 +02:00
schroda 6a1c302e45 Remove SWR 2023-10-27 20:23:44 +02:00
schroda 09f48c2c17 Use gql for "backups" 2023-10-27 20:23:44 +02:00
schroda e2f34f1f47 Use gql for "fetchMore" workaround
The "loading" and "networkStatus" state do not get correctly updated when e.g. calling "fetchMore".
This seems to happen because an abort signal is passed on every hook call.
Due to passing this signal, the passed args to the hook change, and thus, it looks like apollo considers this a completely new hook call.
By preventing the signal from being passed, the hook correctly updates these states, but, on the contrary, it is not possible to abort these requests anymore
2023-10-27 20:23:44 +02:00
schroda aad87463f3 [Codegen] Use gql for "loading chapters" 2023-10-27 20:23:44 +02:00
schroda 78049282a7 Use gql for "sources" - preferences 2023-10-27 20:23:05 +02:00
schroda dcead5a801 Preserve selected filters on browser back navigation 2023-10-27 20:23:05 +02:00
schroda 12dd973179 Use gql for "mangas" VI - source mangas filter 2023-10-27 20:23:05 +02:00
schroda 3297c7d96c Use gql for "mangas" V - update manga categories 2023-10-27 20:23:05 +02:00
schroda 87aef85683 Use gql for "mangas" IV - source mangas popular/latest 2023-10-27 20:23:04 +02:00
schroda 0a73496cba Use gql for "mangas" III - global search 2023-10-27 20:23:04 +02:00
schroda af9d49e5e9 Use gql for "mangas" II - category mangas 2023-10-27 20:23:04 +02:00
schroda 89dc053f00 Use gql for "mangas" I - get manga 2023-10-27 20:23:04 +02:00
schroda a5b4b95bce Use gql for "updater" 2023-10-27 20:23:03 +02:00
schroda 222f8f5c9b Use gql for "downloader" 2023-10-27 20:23:03 +02:00
schroda ca18e750bf Use gql for "categories" 2023-10-27 20:23:03 +02:00
schroda f0d55c01c8 Use gql for "updating chapters" 2023-10-27 20:23:03 +02:00
schroda c75e184c57 Use gql for "updating mangas" 2023-10-27 20:23:02 +02:00
schroda e1f338d013 Use gql for "sources" 2023-10-27 20:23:02 +02:00
schroda 4a80e18cd0 Use gql for "extensions" 2023-10-27 20:23:02 +02:00
schroda 81cfeedbba Use gql for "checkForUpdate" 2023-10-27 20:23:02 +02:00
schroda 59468bc568 Use gql for "about" 2023-10-27 20:23:01 +02:00
schroda 80cb06dfd5 Use gql for "global metadata" 2023-10-27 20:23:01 +02:00
schroda b9480736c3 Log apollo errors 2023-10-27 20:23:01 +02:00
schroda 181eb6c811 Add graphql logic to RequestManager 2023-10-27 20:23:01 +02:00
schroda 0ee47c872b Introduce "BaseClient" 2023-10-27 20:23:01 +02:00
schroda a0b686497f Move "RestClient" in sub folder 2023-10-27 20:23:00 +02:00
schroda bffc1669e2 Move "RequestManager" in sub folder 2023-10-27 20:23:00 +02:00
schroda 1c794c24b5 Setup intellij "GraphQL" plugin 2023-10-27 20:23:00 +02:00
schroda 87ddf2f844 [Codegen] Generate files
Even if they are generated files, they should be checked-in so that it's possible to check out an old commit and still have the same files as they were at the time the commit was created.
In case they wouldn't be checked-in and the schema has changed in the meantime, there is no possible way to build the same generated files anymore
2023-10-27 20:22:56 +02:00
schroda 0087d3a87b [Tool][Codegen] Add script to post format the generated graphql file
Makes it possible to modify the generated graphql file by codegen.
2023-10-27 20:19:05 +02:00
schroda 10a57d3388 Change "moduleResolution" to "node"
"bundler" causes a tsc issue with the generated graphql file where the imported file can't be found.
2023-10-27 20:19:05 +02:00
schroda 1b4497db46 Setup "graphql-codgen" 2023-10-27 20:19:04 +02:00
schroda 55c1c51edd Create queries, mutations and subscriptions 2023-10-27 20:18:37 +02:00
schroda ae5d2525f1 Add "apollo-client" dependencies 2023-10-14 01:50:31 +02:00
schroda 4e134768ef Feature/update dependencies (#419)
* Add "syncyarnlock" dependency

* Update dependencies

* Update versions in package.json

* Add script to update dependencies
2023-09-17 23:03:29 +02:00
schroda 6afd12b0bb Update required server version for preview to r1353 (#415)
Should have been updated with c23799f0e0
2023-09-03 13:25:41 +02:00
schroda a8f25f58bf Update dependencies (#414) 2023-09-02 17:27:49 +02:00
schroda c23799f0e0 Update "UpdateStatus" type to server changes (#413)
The "UpdateStatus" was updated in https://github.com/Suwayomi/Tachidesk-Server/pull/657 on the server side
2023-08-28 23:47:40 +02:00
schroda bde16d0411 Feature/update dependencies (#410)
* Update non breaking dependencies

* Update dependency "eslint-config-prettier" to v9.x

Update to v9.0.0
2023-08-18 00:28:09 +02:00
schroda 38b69297f4 Add new languages to resources (#409) 2023-08-18 00:27:55 +02:00
schroda dd0ab4cb86 Show "inLibraryIndicator" in "VerticalGrid" (#408) 2023-08-16 19:07:54 +02:00
schroda 2f795b9d38 Fix/tools scripts tsconfig and linting (#406)
* [Tools] Fix linting

* [Tools] Fix yargs tsc issue
2023-08-15 22:20:24 +02:00
schroda ebf6c99dee Fix contributing readme (#405) 2023-08-14 21:43:18 +02:00
schroda 48fe8d23e9 Fix/vite tsconfig setup (#404)
* Use "create-vite"s tsconfig files setup

The previous tsconfig file caused issues with vite throwing "missing identifiers of modules" errors

* Remove unused React imports

Starting with React 17 the nex JSX transform is being used
2023-08-14 21:43:06 +02:00
schroda 637118ad7a Add new languages to resources (#402) 2023-08-11 17:40:40 +02:00
schroda 31dca431e4 Feature/use vite with swc (#400)
* Add vite-env.d.ts

Should have been added with bc99728dcd

* Update readmes

* Use vites SWC plugin
2023-08-11 17:30:22 +02:00
schroda a3d36bdb17 Feature/introduce script to create changelog (#401)
* Introduce script to create a changelog

* Add information about version to server version mapping

* Add release process doc
2023-08-11 17:23:56 +02:00
schroda a487e47260 Feature/update dependencies (#399)
* Update dependencies with non-breaking changes

* Update dependency "typescript-eslint" to v6.x

Update to v6.2.1

* Update dependencies "prettier" to v3.x

Update prettier to v3.0.1
Update eslint-plugin-prettier to 5.0.0
2023-08-05 17:40:59 +02:00
schroda f42aead32b Add ui version to server version mapping file (#398)
This file is required for the server to be able to download the latest compatible ui version
2023-07-21 02:44:12 +02:00
schroda e4745ee812 [ESLint] Fix issues (#397) 2023-07-13 14:23:20 +02:00
schroda 04f7831dc4 Use proper button radius (#393) 2023-07-04 21:55:39 +02:00
schroda 83c6851357 Update "react-i18next" to v13.x (#392)
Update to v13.0.1
2023-07-04 21:54:21 +02:00
schroda 5279339b86 Feature/update i18next to v23.x (#391)
* Update i18next to v23.x

Update to version 23.2.7

* Use new "ParseKeys" (old: "TFuncKey") type

* Remove unnecessary casts to string

Not needed anymore with the latest version
2023-07-04 21:53:25 +02:00
schroda 46ccf20168 Update dependencies with non-breaking changes (#390) 2023-07-04 21:51:30 +02:00
schroda 09b10cd5ab Fix/back button not working without browser history (#389)
* Introduce local history stack

To be able to know if the browser back navigation should be used, it is sometimes necessary to know which the previous page was.
E.g. it should not be used in case the current page is the manga page and the previous one is the reader.

* Handle cases where there is no previous page in the history stack

* Always use a button for the navigation back button

* Navigate from base route to library by replacing the current location

The base route should not be included in the history
2023-06-26 20:40:35 +02:00
schroda 1d76e990ae Move "@types/node" to dev-dependencies (#388) 2023-06-26 20:40:23 +02:00
schroda 7857645800 Enable changing include/exclude state of "default" category (#387)
The "default" handling was changed, which makes it possible to change the include/exclude state
2023-06-24 12:54:18 +02:00
schroda 67b4bbbdcf Do not use and mutate global array 2023-06-24 12:41:27 +02:00
schroda 5c0dcf1f6c Rename function 2023-06-24 12:41:27 +02:00
schroda 084308a833 Fix typo 2023-06-24 12:39:01 +02:00
schroda 95ca2fabae Group obsolete extensions 2023-06-24 12:39:01 +02:00
schroda 2bbfb5272f Add new languages to resources 2023-06-24 12:38:37 +02:00
schroda ed9c51cd37 Reset scroll position when changing the search term (#382)
I hate my life (f5a8c8d35c)... AINTNOWAY
2023-06-20 01:12:10 +02:00
schroda 322cf8c915 Move Library "search settings" to LibrarySettings (#381) 2023-06-20 01:00:54 +02:00
schroda f5a8c8d35c Update reset scroll position flag after doing the reset (#380)
Should have been added with 3ad33b0a15
2023-06-20 00:59:19 +02:00
schroda 79b5e696b6 Fix/setting buttons unclickable area (#379)
* Move "onClick" handler to "ListItemButton" - LibrarySettings "global update categories"

Clicks were only handled on the button content leading to a small area around the content to not handle the clicks, thus, not opening the dialog

* Move "onClick" handler to "ListItemButton" - Settings "manga item width"

Clicks were only handled on the button content leading to a small area around the content to not handle the clicks, thus, not opening the dialog
2023-06-20 00:58:40 +02:00
schroda 0f029cb625 Fix/library manga grid infinite item size on category switch (#378)
* Revert "Fix/manga grid infinite item width (#376)"

This reverts commit 48d559ec

This fixed (and worked as expected in dev mode) the very rare issue in dev mode (you had to load the page with a small screen size and increase the screen size before the grid and grid items were rendered) and caused it frequently in production build in the Library grid when switching categories

* Fallback grid dimensions to current window dimensions

Hook only run once, which could lead to an issue where the grid item width was calculated to be infinite (e.g. in SearchAll due to strict-mode behaviour in the dev mode).
Could be that this is only an issue in dev mode due to react-strict mode.

* Remove unused "height" grid dimensions property
2023-06-17 22:31:59 +02:00