* Basic modal for switching extension settings
* Improve network usage by including field in query directly
Requesting individually is stupid, when it's a field that is already
available on the server
* Improve extension slider usability
- Always render the element, fixes animations
- Store the selected item in state, allows the back-button to re-open
dialog
* Update src/modules/extension/components/ExtensionOptions.tsx
Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
* Update src/modules/extension/components/ExtensionOptions.tsx
Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
* Fix suggestions
* Use dialog instead of optionsPanel
* Extension options remove redundant NSFW info
* Apply suggestions from code review
Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
* Use proper dialog title and content for settings dialog
* Use `string | undefined` instead of `string | null` to satisfy `tsc`
---------
Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
* 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>
- open from outside reader
- is read
- yes: 1st page
- no : last read page
- inside reader via
- chapter selection: first page
- previous chapter : last page
- next chapter : first page
The total size was the sum of all categories, which could include duplicates, since manga can be in multiple categories.
This still will show an incorrect number, because server side there is the same issue with the "mangas" query including duplicates in the total count, however, once this is fixed, the correct count will be displayed
This prevents issues of manga having a specific library state while they are incorrectly in or not in categories.
E.g. a manga was removed from the library but the category update mutation failed, which now causes it to still be in the set categories while not being in the library anymore
In case an uninitialized manga was opened from the library, the manga and its chapter list got refreshed.
However, the chapter infos (e.g. unread, downloaded count, etc.) were not requested with the chapter list mutation, which resulted in this information to be missing