Huang Xin
09c45b4615
fix(linux): avoid transitions API on WebKitGTK on Linux ( #3417 )
2026-02-28 16:35:39 +01:00
Huang Xin
21208adbcf
compat: add target class to hide import icon in the bookshelf, closes #3376 ( #3380 )
2026-02-25 14:13:10 +01:00
Huang Xin
128b238bcb
feat: add directional view transitions with scroll preservation in library view, closes #3357 ( #3362 )
2026-02-24 14:56:45 +01:00
Huang Xin
a47a480aa2
fix(layout): persistent location for the sidebar toggle, closes #3193 ( #3269 )
2026-02-11 16:29:26 +01:00
Huang Xin
411f9e236d
feat(metadata): support parsing series info from calibre exported EPUBs, closes #3259 ( #3267 )
2026-02-11 15:39:48 +01:00
Huang Xin
0be828fd66
feat(l10n): format sync date time with current locale, closes #3219 ( #3230 )
2026-02-09 03:09:52 +01:00
Mohammed Efaz
bf72ab86cd
fix: status button eink compatible ( #3223 )
2026-02-08 12:28:31 +01:00
Huang Xin
fe9603ffb8
fix(a11y): updating progress info when navigating with screen readers ( #3182 )
...
Also add some missing button labels for screen readers
2026-02-06 08:43:03 +01:00
Huang Xin
a9a1dc8e70
fix(layout): fixed regression of vertical alignment, closes #3012 ( #3178 )
2026-02-05 17:46:47 +01:00
Huang Xin
b1a1e35790
fix(layout): move sync options inside of account section in settings menu ( #3176 )
2026-02-05 10:08:17 +01:00
Huang Xin
3c538c3746
feat(sync): add manual books sync in the main menu ( #3175 )
2026-02-05 08:26:33 +01:00
Huang Xin
92116e7455
fix(bookshelf): merge groups and ungrouped books then sort them together ( #3169 )
2026-02-04 12:32:29 +01:00
Huang Xin
3b350d6945
fix(layout): responsive select mode actions on smaller screens ( #3164 )
2026-02-04 07:04:29 +01:00
Adam Charron
52c49ddef1
Add enhanced grouping and sorting functionality to the library view ( #3146 )
...
* feat(library): implement grouping of books by series or author
- Added functionality to group books in the library by series or author.
- Introduced new utility functions for creating book groups and parsing author strings.
- Updated the LibraryPageContent to track the current group for navigation.
- Created a new GroupHeader component to display the current group context.
- Enhanced the Bookshelf component to support displaying grouped books.
- Updated settings to include grouping options in the view menu.
New files:
- src/__tests__/utils/libraryUtils.test.ts - Unit tests for new utility functions.
- src/app/library/components/GroupHeader.tsx - Component for displaying group context.
- src/app/library/utils/libraryUtils.ts - Utility functions for grouping and parsing authors.
* Use group by and sort by constants, and split sort/group by menus into their own elements
* Format code with autoformatter
* Remove any casting from tests
* Translate missing strings
* refactor: cleaner layout with collapsible view menu options
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-02-03 14:51:50 +01:00
Huang Xin
e3d52891fb
fix(a11y): add missing aria labels and fix iOS safe insets ( #3149 )
2026-02-03 12:50:24 +01:00
Huang Xin
c848a319ff
fix(layout): fix centered dropdown menu ( #3133 )
2026-02-01 15:52:51 +01:00
Huang Xin
94930baa1b
feat(sync): more intuitive pull down to sync gesture and toast info, closes #3128 ( #3131 )
2026-02-01 09:23:24 +01:00
Huang Xin
570598520f
fix(a11y): fix accessibility in dropdown menus for TalkBack, closes #3035 ( #3126 )
2026-01-31 19:05:56 +01:00
Huang Xin
fb387c2384
fix(layout): fixed layout of book reading progress and reader footer bar ( #3117 )
2026-01-30 06:54:20 +01:00
Huang Xin
bc94f3f790
refactor: responsive SetStatusAlert on smaller screens ( #3110 )
2026-01-29 15:53:20 +01:00
Huang Xin
bdb25999c9
fix(sync): more robust books sync for stale library, closes #3099 ( #3108 )
2026-01-29 14:05:58 +01:00
Huang Xin
c58e172a54
fix(bookshelf): don't show badge or progress for unread book, closes #3103 ( #3107 )
2026-01-29 12:48:21 +01:00
Mohammed Efaz
01b4e3530d
feat: toggle finished manually ( #3091 )
2026-01-28 06:26:57 +01:00
Huang Xin
64a1ea531a
fix(bookshelf): fixed conflicts of group names with common prefix ( #3084 )
2026-01-26 13:38:01 +01:00
Huang Xin
e592f40429
layout: don't show upload icon if auto upload is disabled for cleaner UI ( #3068 )
2026-01-25 09:22:30 +01:00
Huang Xin
48920a87bf
chore(opds): disable popular online opds catalogs in certain regions on App Store ( #3031 )
2026-01-22 11:42:16 +01:00
xijibomi-coffee
f875ba88ac
perf: use native walkdir for recursive imports from directory ( #2993 )
...
* fix(perf): replace JS recursion with native Rust walkdir for imports
* fix: implement security scope check in rust recursive scanner
* refactor and format code
---------
Co-authored-by: Huang Xin <chrox.huang@gmail.com >
2026-01-20 06:22:04 +01:00
Huang Xin
038eca4267
fix(eink): resolved an issue where the dropdown menu would occasionally fail to expand on some Eink devices ( #2991 )
2026-01-18 19:57:09 +01:00
Huang Xin
f0722ec0fe
feat(bookshelf): show one line of book description in list view of the bookshelf, closes #2955 ( #2990 )
2026-01-18 17:16:54 +01:00
Huang Xin
7f26e45ae7
feat(sync): cloud deletion in transfer queue ( #2964 )
2026-01-15 13:50:24 +01:00
Huang Xin
9c9c79176d
feat(bookshelf): add an option to sort books by publish date, closes #2925 ( #2949 )
2026-01-14 13:40:07 +01:00
Huang Xin
7cb523eefc
fix(metadata): no need to download book to display book details, closes #2857 ( #2897 )
2026-01-09 15:58:01 +01:00
Huang Xin
20ae09c52d
perf(sync): persist partial library sync to prevent full retry on failure ( #2892 )
2026-01-09 09:23:02 +01:00
Huang Xin
462ca46fee
feat(eink): optimize color and layout for e-ink mode ( #2887 )
2026-01-08 17:29:33 +01:00
Huang Xin
eed84a059a
fix(search): should be able to terminate search when sidebar is invisible ( #2863 )
2026-01-04 17:10:49 +01:00
Huang Xin
d3752dadc6
fix(library): upload files also for open with import and opds import, closes #2826 ( #2827 )
2026-01-02 13:32:52 +01:00
Huang Xin
71e97998b6
feat(transfer): add a background transfer queue system for book uploads/downloads ( #2821 )
2025-12-31 08:40:28 +01:00
Huang Xin
9358a06839
compat(layout): grid layout with fit covers on older browsers, closes #2745 ( #2756 )
2025-12-21 08:52:57 +01:00
Huang Xin
b7df294d78
feat(bookshelf): add group books button in context menu, closes #2698 ( #2718 )
2025-12-15 05:02:52 +01:00
Huang Xin
e740571c33
feat(opds): instant search bar for opds catalog, closes #2707 ( #2714 )
2025-12-14 18:25:47 +01:00
Huang Xin
c1530cc5c4
feat(iOS): support open file with Readest in Files App, closes #2334 ( #2705 )
2025-12-13 13:28:03 +01:00
Huang Xin
ba3f060cc4
feat: add support for importing from a directory recursively, closes #179 ( #2642 )
2025-12-08 07:16:57 +01:00
Huang Xin
11bc7497e8
feat: add support for renaming bookshelf groups ( #2639 )
2025-12-07 10:04:23 +01:00
Huang Xin
8de6fa267e
fix(cache): invalidate config and doc cache, closes #2595 and closes #2572 ( #2623 )
2025-12-05 07:03:57 +01:00
Huang Xin
70158a7f15
refactor(opds): use catalog id instead of credentials in url params, closes #2599 ( #2606 )
2025-12-03 08:50:55 +01:00
Huang Xin
cef444d374
fix: disable saving last book cover with playstore variant, closes #2600 ( #2602 )
2025-12-03 05:41:44 +01:00
Huang Xin
d2b3c165c7
fix(opds): use custom header for content length when streaming content ( #2584 )
2025-12-01 17:28:36 +01:00
Huang Xin
e28dabce65
fix(layout): refactor full height for edge to edge env and in browser env ( #2582 )
2025-12-01 13:48:14 +01:00
Huang Xin
2ca3561093
feat(opds): support downloading ebooks from OPDS catalogs ( #2571 )
2025-11-30 21:22:54 +01:00
Huang Xin
0bad380a50
fix(layout): fixed navigation parameters not synced with settings ( #2559 )
2025-11-27 08:06:43 +01:00