refactor(web): finish media feature migration

This commit is contained in:
hectorqin committed 2026-10-03 15:04:34 +08:00
1 parent 2aaa4280c7
commit 050b8e89db
184 files changed
+354 -510

No files matched your search

+3 -3
View File
@@ -113,14 +113,14 @@ Use `gradlew.bat` from a native Windows terminal. The output is `android/app/bui
| `server/src/indexer` | File formats, scanning, identity, and metadata |
| `server/src/services`, `http` | Business services, API, authentication, and resources |
| `server/src/media` | Media catalog, scans, metadata, and playback |
| `web/src/media` | Media pages, routes, themes, and players |
| `web/src/features/media` | Media pages, components, services, themes, and players |
| `server/src/sources` | Local library and OPDS integration |
| `web/src/formats` | EPUB, TXT, comics, and other format handling |
| `web/src/ui`, `styles` | Preact UI, reading stage, and styles |
| `web/src/ui`, `styles` | Shared interactions, imperative reading stage, and reader styles |
| `web/src/core`, `store` | Platform capabilities, synchronization, and offline storage |
| `android/app/src/main/java/cool/cnb/reader` | Android Activity, WebView, native image and speech bridges |
Preact manages UI state; the reading stage handles content layout and measurement. Shadow DOM isolates book styles, and icons use Lucide SVG. Both the server and Android consume the Web build. See [architecture (中文)](architecture.md) and [UI guidelines (中文)](ui.md) for details.
The application UI uses React 19 and React Router. React Query owns server data and Zustand owns shared client state; the imperative reading stage handles book layout and measurement. Mantine provides base interaction components, Lucide React provides icons, and Shadow DOM isolates book styles. Both the server and Android consume the Web build. See [architecture (中文)](architecture.md) and [UI guidelines (中文)](ui.md) for details.
## Contributing workflow