Commit Graph
13 Commits
Author SHA1 Message Date
Zeedifandschroda 84cfa6bea5 Update KOReader Sync settings (#1030)
* feat(settings): refactor and implement KOReader Sync settings page

Refactors the KOReader Sync settings section into its own dedicated page and implements the full connection and configuration flow.

The previous implementation in the main server settings was outdated and incomplete. This change aligns the frontend with the latest backend logic and provides a complete user experience.

Key changes include:
- Separated the UI into two states: a login form for initial connection and a configuration panel for existing connections.
- Implemented `connectKoSyncAccount` and `logoutKoSyncAccount` mutations to handle authentication with the KOReader Sync server.
- Updated the `SERVER_SETTINGS` GraphQL fragment to use the new `koreaderSyncStrategyForward` and `koreaderSyncStrategyBackward` fields, removing the deprecated `koreaderSyncStrategy`.
- Moved all KOReader Sync settings from the generic Server Settings page to a dedicated route at `/settings/koreader-sync`.
- Restructured and improved i18n keys for better clarity and consistency.

Ran `yarn gql:codegen` to regenerate GraphQL types and helpers.

* Extract credentials login into component

* Update to server changes and cleanup

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-12-06 19:59:39 +01:00
schroda 36248e17f0 Change add to library "show duplicate entry" button to be a link 2025-12-02 22:12:49 +01:00
schroda 3a27461598 Prevent triggering load of already loaded image
This caused the reader to "jump to random pages" because it caused the image to get unrendered and rendered again, leading to layout shifts.

This issue existed already for a long time but could only rarely be observed because of the hacky "cache check" logic.
The changes from 9ed05f3fc0 caused this issue to be consistent in case the new service worker could not get installed due to not meeting the required installation prerequisites. If that was the case, the cache check always returned false causing the above-described behavior.

fixes #929
2025-11-28 23:09:35 +01:00
schroda 87c3f03f3d Fix calling SpinnerImage load, error callbacks 2025-11-23 00:27:02 +01:00
schroda 890b304b4a Ignore source/extension, tracker icon and thumbnails requests from image queue
The server is not requesting these images through an extension; thus, it is not a problem to send them directly to the server since there is no problem of getting the server "stuck" due to extension rate limits.
2025-11-22 23:50:05 +01:00
schroda 9ed05f3fc0 Cache images via service worker
Improves the image request logic by making it possible to check if an image is cached.
In case an image is cached, it does not need to be put into the image queue because it won't be sent to the server.
2025-11-22 23:50:03 +01:00
schroda 02621dec98 Introduce "awaitable-component" 2025-11-03 21:45:53 +01:00
schroda f539afb404 Introduce "koration" duration api 2025-10-14 21:14:52 +02:00
schroda 3e98b5172d Move "SelectableCollection" to "base" folder 2025-10-04 14:49:01 +02:00
schroda 9329ef5fdc Improve logic to show dialog outside of components 2025-10-04 14:49:00 +02:00
schroda a2d7091712 Remove "forwardRef" usage 2025-09-25 00:20:10 +02:00
schroda 4aad410957 Add "ui login" support 2025-08-26 23:06:44 +02:00
schroda 9e5af57a5f Move "core" folder out of "features" into "base" 2025-08-16 15:44:17 +02:00