Commit Graph

147 Commits

Author SHA1 Message Date
schroda
e327849a19 Show last used source 2025-05-17 23:37:00 +02:00
schroda
822e47084e Add functionality to pin sources 2025-05-17 22:17:15 +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
0a853082db Align language sorting with mihon
Always show "All" as the first language and "Other" as the last
2025-05-09 01:49:30 +02:00
schroda
7e4e22b9e1 Add "All" to default languages 2025-05-09 00:57:29 +02:00
schroda
dcd57aea8f Remove abbreviation of “language” in function names 2025-05-09 00:57:28 +02:00
schroda
d27c5c445f Remove special "english" handling for language sorting 2025-05-09 00:39:19 +02:00
schroda
afdaf1f429 Move chapter types and constants to corresponding files 2025-05-05 01:54:44 +02:00
schroda
c82110b29d Remove "LibraryOptionsContext"
These options are saved in the category metadata which made the context unnecessary
2025-05-04 23:37:12 +02:00
schroda
385b3066cc Delete unused component 2025-05-03 12:17:52 +02:00
schroda
b80006504e Move files into different folders 2025-05-03 12:16:48 +02:00
schroda
11b75103eb Reduce card list padding 2025-05-03 12:05:11 +02:00
schroda
736e556ccd Replace missed occurrences with "ListCardContent" 2025-05-03 11:56:09 +02:00
schroda
24a0cfb3b0 Use "mantine/hooks" 2025-05-02 18:37:03 +02:00
schroda
36aa822455 Use window scroll for grouped virtuosos 2025-05-02 02:30:11 +02:00
schroda
1b7338f5e3 Extract list card content 2025-04-25 01:18:12 +02:00
schroda
c0ab5f93a1 Extract list card avatar 2025-04-25 01:17:54 +02:00
schroda
6a6ff2cbe1 Fix extension repo url on small screens 2025-04-25 00:29:37 +02:00
schroda
4c04e1d17c Normalize language code comparisons
Due to using the browsers' preferred languages by default, there was a possibility that the preferred language codes did not match any extension/source language, which lead to broken filtering.

While this happened, it was also possible that the preferred languages still matched properly to a language in the language filter, which caused confusion.
This was the case e.g., for "en-GB" or "en-US"
2025-04-24 13:38:05 +02:00
schroda
c9490f1887 Prevent language filter list from reseting scroll position on selection change 2025-04-23 01:56:31 +02:00
schroda
f19c5d5038 Fallback to english in case no preferred languages are found 2025-04-22 10:37:47 +02:00
schroda
477656a3a9 Fix saving changed selected languages 2025-04-22 10:34:59 +02:00
schroda
6fef7b3aa4 Show selected languages in filter on top 2025-04-21 19:02:53 +02:00
schroda
60cb7b31ab Cleanup "LangSelect" 2025-04-21 19:02:50 +02:00
schroda
633f58b563 Remove "sourceForcedDefaultLangs" 2025-04-21 16:50:06 +02:00
schroda
fef33f15f9 Remove "forced languages" from "LangSelect" 2025-04-21 16:31:51 +02:00
schroda
214fa7710d Get rid of forced "All" extensions language 2025-04-21 01:02:08 +02:00
schroda
05082c24f4 Infer user preferred languages for default source/extension languages 2025-04-21 00:40:51 +02:00
schroda
27fb8823e9 Remove too much space of "TypographyMaxLines" 2025-04-21 00:22:08 +02:00
schroda
5c232c77a7 Do not pass empty string as img src
Raises the following error:
"An empty string ("") was passed to the src attribute. This may cause the browser to download the whole page again over the network. To fix this, either do not render the element at all or pass null to src instead of an empty string"
2025-04-18 21:57:01 +02:00
schroda
3f93549f34 Update to react v19 2025-04-18 21:45:00 +02:00
schroda
213f561fe4 Replace "react-beautiful-dnd" with "dnd-kit"
"react-beautiful-dnd" has been deprecated for quite some time
2025-04-18 20:55:17 +02:00
schroda
48d96afa85 Improve snackbar styling
- allow different max width depending on screen width
- decrease max description length
2025-04-18 00:34:16 +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
dcf1b5b1c2 Only show hidden nav bar items in "More" page 2025-04-05 15:38:40 +02:00
schroda
c81dce8efe Remove margin between icons in "extensions actions" 2025-03-28 19:06:08 +01:00
schroda
e3934545b0 Change "large" IconButtons to default size 2025-03-28 19:05:21 +01:00
schroda
99f14e2f27 Internationalize ErrorBoundary 2025-03-28 18:47:29 +01:00
schroda
a9bdf076c1 Prevent confirmation dialog from shifting layout in reader 2025-03-27 19:49:52 +01:00
schroda
3c1cb539ad Add spacing to confirmation dialog buttons 2025-03-27 19:49:51 +01:00
schroda
b673047517 Update to server gql library update changes 2025-03-23 04:04:08 +01:00
schroda
072c71c116 Handle graphql exception errors
Extract stack trace from error message and show it as an information that is collapsed by default
2025-03-22 20:37:43 +01:00
schroda
8fac3ce352 Handle white spaces in error messages 2025-03-22 03:21:09 +01: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
ca7bd6898e Prevent horizontal scrollbar in snackbar 2025-02-10 23:26:33 +01:00
schroda
94b4bdfa10 Reduce snackbar description length 2025-02-10 23:23:40 +01:00
schroda
a7df8eb0f4 Show image loading placeholder only when visible
The MUI spinner impacts the cpu usage.
While only a few of them don't matter, rendering multiple of them can impact the cpu usage.

This can be a problem in the reader in case a chapter with a lot of chapters is rendered and a continuous reading mode is being used.
In such a case the cpu usage stays increased until all pages have been loaded
2025-02-08 20:12:41 +01:00
schroda
a4e9e8f264 Introduce "useIntersectionObserver" hook 2025-02-08 19:45:41 +01:00