Commit Graph

136 Commits

Author SHA1 Message Date
schroda
65ddc24449 Add sync state to settings 2026-07-02 22:44:10 +02:00
schroda
dd1199f3be Integrate extension api v1.6 changes 2026-07-02 12:40:11 +02:00
schroda
e94012b39a Fix TypeError 2026-06-07 00:34:31 +02:00
schroda
fb439d058e Handle resuming migration with app opened in multiple tabs
- Secure context:
  - Yes: allow only one tab to resume the migration
  - No: disable resume functionality
- Sync progress between tabs
2026-06-06 17:45:43 +02:00
schroda
27c87185b1 Rename "childRoutes" to "children" 2026-05-28 00:49:49 +02:00
schroda
9440326b72 Require server settings and global metadata to be loaded 2026-04-27 15:57:33 +02:00
schroda
3eb34312ad Resume migration on initial load 2026-04-23 20:40:03 +02:00
schroda
f6302fe3aa Add bulk migration 2026-04-17 02:19:40 +02:00
schroda
3d8d230995 Render some components outside of auth guard 2026-01-13 17:32:57 +01:00
schroda
5def0ea818 Add new image processing settings on serve 2025-12-23 02:10:06 +01:00
schroda
cedb865a42 Add "images" settings page 2025-12-23 02:08:14 +01:00
schroda
bded64b0b1 Convert "download conversions" setting to a page 2025-12-22 12:31:54 +01:00
schroda
b062871163 Skip gql subscriptions until auth is properly set up 2025-11-06 21:38:00 +01:00
schroda
02621dec98 Introduce "awaitable-component" 2025-11-03 21:45:53 +01:00
schroda
2656666d2e Move request to correct component 2025-10-19 17:38:52 +02:00
schroda
18deca32f6 Simplify session context usage
Most cases were preventing some requests from getting triggered. However, this is not necessary anymore since with 6636cc66b1, this is handled globally now
2025-10-19 17:38:37 +02:00
schroda
258d1a496a Remove "auth required flag" from session storage
With 12ef012e4b this has no benefit anymore, because the app now always checks if authentication is enabled by the server first before any other request can be sent.
2025-10-16 22:46:03 +02:00
schroda
6636cc66b1 Prevent sending requests that are known to fail
In case it's still unknown if auth is set up on the server, only the initial request to detect this should be sent. Since all other requests will also just fail, they should be blocked until the auth initialization is completed.

While the access token is getting refreshed, no request will succeed since the access token is expired; thus, they should not be sent.
2025-10-15 03:06:46 +02:00
schroda
9329ef5fdc Improve logic to show dialog outside of components 2025-10-04 14:49:00 +02:00
schroda
6b16cdbf54 Move "i18n" import to "index.tsx" 2025-10-01 23:22:07 +02:00
schroda
19e45424ae Make react router routing possible outside components 2025-09-21 01:16:44 +02:00
schroda
c8dc7a303c Handle authentication on reader route 2025-09-03 00:13:41 +02:00
schroda
4e4a607c01 Ensure up-to-date navbar extension update amount
The shown amount was based on the cached extension data from the server.
To refresh the data, the "Extensions" page had to be opened.
2025-08-26 23:06:45 +02:00
schroda
4aad410957 Add "ui login" support 2025-08-26 23:06:44 +02:00
schroda
a403e6cb5f Structure "extension" in sub-features 2025-08-16 16:03:32 +02:00
schroda
32bfca8db2 Structure "source" in sub-features 2025-08-16 15:48:07 +02:00
schroda
9e5af57a5f Move "core" folder out of "features" into "base" 2025-08-16 15:44:17 +02:00
schroda
f4c06d474d Merge "Context" and "ContextProvider" components 2025-08-16 02:21:43 +02:00
schroda
f548ba9502 Structure "reader" in sub-features 2025-08-16 02:02:13 +02:00
schroda
1b4bf22542 Rename folder "modules" to "features" 2025-08-15 22:02:58 +02:00
schroda
ebe8a3c376 Fix "extension" root route redirect
Not sure why this redirects to the root route instead of to the extension page (got introduced in 2e105a0539)
2025-07-23 01:36:05 +02:00
schroda
b444c427e4 Fix removed "source" route redirect
Page got merged in db65b9df44 and never got properly redirected to the new location (8178574815)
2025-07-23 01:36:05 +02:00
schroda
2e105a0539 Introduce "Extension info" screen 2025-06-23 00:05:16 +02:00
Well404
caad353bfa Trigger library search on artist/author click (#939)
* add search func

* Fix lint issues and clean up

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-05-17 19:04:16 +02:00
schroda
b80006504e Move files into different folders 2025-05-03 12:16:48 +02:00
schroda
ee3e741688 Lazy load missed routes 2025-04-21 23:01:05 +02:00
schroda
0b97e8bb8d Move "About" outside "Settings" in regard to routing
Is already not part of the settings anymore, however, the route was never updated
2025-04-05 15:41:11 +02:00
schroda
8cbc8c5099 Disable "more" route on desktop 2025-04-05 15:38:41 +02:00
schroda
f570b7c9ed Optionally hide history 2025-03-22 01:16:38 +01:00
Jack
9e5fa7d81a Add history page (#897)
* Add History module and integrate it into the app

Introduce the History module with components for displaying chapter updates, including UI for grouped updates by date. Update routing and constants to incorporate the new /history path.

* Replace "Updates" and "History" with unified "Recent" module

Merged the "Updates" and "History" screens into a single unified "Recent" module with corresponding navigation updates. Adjusted GraphQL types and localization files to reflect the changes. This simplifies navigation and improves user experience.

* Refactor History screen to remove unused components.

Removed unused states, layout effects, and props related to last update timestamp. Renamed variables for better clarity and updated labels and error messages to align with the history context. Simplified component structure for improved maintainability.

* ```
Refactor tab handling and integrate dynamic height adjustments.

Renamed enums for better clarity and consistency. Implemented a `tabsMenuHeight` prop to dynamically adjust component layouts based on observed height changes using `useResizeObserver`. Updated the `Updates` component to consider the calculated heights for improved rendering.
```

* Refactor `groupByDate` parameter and add `lastReadAt` field

Renamed `updates` to `histories` in `groupByDate` for clarity and added a debugging log for input data. Updated GraphQL fragment to include the `lastReadAt` field to support additional functionality.

* Refactor `groupByDate` parameter and add `lastReadAt` field

Renamed `updates` to `histories` in `groupByDate` for clarity and added a debugging log for input data. Updated GraphQL fragment to include the `lastReadAt` field to support additional functionality.

* Refactor `groupByDate` parameter and add `lastReadAt` field

Renamed `updates` to `histories` in `groupByDate` for clarity and added a debugging log for input data. Updated GraphQL fragment to include the `lastReadAt` field to support additional functionality.

* Refactor `groupByDate` parameter and add `lastReadAt` field

Renamed `updates` to `histories` in `groupByDate` for clarity and added a debugging log for input data. Updated GraphQL fragment to include the `lastReadAt` field to support additional functionality.

* "Optimize GraphQL type definition formatting in generated file

Condensed the formatting of the GetChaptersHistoryQuery type to a single line for improved readability and consistency. This change does not affect functionality but enhances maintainability of the generated code."

* Remove UpdateChecker component from History screen

The UpdateChecker component and its related navbar action have been removed from the History screen. This simplifies the navbar setup and eliminates unused functionality in this context.

* Refactor chapter fragment and type references

Updated `ChapterRecentListFieldsFragment` to `ChapterUpdateListFieldsFragment` for better alignment with naming conventions. Adjusted type imports and query structures to maintain consistency across files. No functional changes introduced.

* Refactor padding calculation logic in Updates screen.

Renamed state variable and refactored its logic for clarity and consistency. The updated logic now uses a more descriptive name, `listPadding`, to enhance code readability and maintainability.

* Pass `tabsMenuHeight` prop to History component

Added `tabsMenuHeight` prop to the `History` component to properly calculate the height for the `StyledGroupedVirtuoso` element. This ensures consistency with other components and improves layout rendering.

* Revert package.json

* Add last page read tracking to chapter history

Introduced "lastPageRead" and "pageCount" fields to track progress in chapter history. Updated UI to display the last page read along with total pages for chapters. Adjusted localization files to support the new "page" label.

* Remove last page read display from ChapterHistoryCard

The "last page read" information was removed from the ChapterHistoryCard component for a cleaner UI. This change simplifies the card's design by showing only the chapter name and relevant download state.

* Forcing an empty commit.

* Replace "Recent" screen with separate "Updates" and "History".

The "Recent" feature has been split into two distinct screens, "Updates" and "History", for improved clarity and functionality. Routes, icons, and components have been updated accordingly, and redundant code related to "Recent" has been removed.

* Clean

* Revert vi.json

* Remove unnecessary `useLocation` hook and update state logic.

The `useLocation` hook was removed as it was not used elsewhere in the component. The state property for the routing logic was updated to use `Chapters.getReaderOpenChapterLocationState` for better encapsulation and clarity.

* Update history localization by removing unused "page" key

Removed the "page" key from the "history" section in the localization file as it is no longer in use. This cleanup helps keep the translation file consistent and easier to maintain.

---------

Co-authored-by: NamNH <namitonguyen@gmail.com>
2025-03-10 21:53:40 +01:00
schroda
6afc9f22b6 Introduce "more" page
- moves "Settings" into "more" page
2025-03-09 16:19:31 +01:00
schroda
57f73636a0 Read chapter download status from cache
Instead of getting the whole download status, which contains all queued/active downloads, the download status should be read from the cache for only the required chapters
2025-01-12 14:09:10 +01:00
schroda
d66b3eb38d Handle main content screen right safe area 2025-01-08 23:59:26 +01:00
schroda
d844ad3f5d Use full height and width of viewport on iOS
- render appbar background color on ios status bar
- handle "home indicator" safe area inset
2024-12-16 14:49:35 +01:00
schroda
cff0ed5ec3 Extract app routes into constant 2024-12-11 20:25:49 +01:00
schroda
7ffcfc1a16 Keep route names lowercase 2024-12-11 13:55:00 +01:00
schroda
20a8666f95 Simplify setting route names 2024-12-11 13:51:46 +01:00
schroda
6802941252 Rename "Default reader settings" to "Reader settings" 2024-12-11 13:43:53 +01:00
schroda
da0004de4a Base reader component 2024-12-09 02:38:37 +01:00
schroda
a607f7f368 Reader settings 2024-12-09 02:38:37 +01:00