mirror of
https://github.com/hectorqin/reader.git
synced 2026-11-12 05:50:54 +08:00
- Replace every Mantine component with the toolkit (Button, Callout, IconButton) or plain markup; remove MantineProvider, its stylesheet and the --mantine variable bridge; keep its form-font reset in reader.css. Uninstall @mantine/core and @mantine/hooks. - ActionMenu/ActionSheet (ui/action-menu.tsx): the file manager's Mantine Menu, the shelf pick dialog and the media <details> menus (catalog, narrators, detail, libraries, library rows, folders, chapters, queue, resource panel, favorites filter) are one compact Sheet menu. - Toolkit Callout for page-level messages; operation failures go to FloatingNotice; .page-state for whole-page loading/error. - Shared SourcesHeader and SourceBookDetailSheet; source editor and credentials pages rebuilt without Mantine, deleting a source now asks first. - Remove dead code: SettingsPage (unrouted), MiniPlayer, ui/dom.ts (formatters moved to lib/format.ts), the unused metadata form dialog, useAppThemeDark. - ui:review react-app passes again: fixed stale steps (/settings, mini player, login race, missing-edition detail).
48 lines
1.6 KiB
JSON
48 lines
1.6 KiB
JSON
{
|
|
"name": "reader-client",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"description": "Reader client: shared rendering layer for the H5 build and the Android WebView shell.",
|
|
"license": "AGPL-3.0-or-later",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -p tsconfig.json --noEmit && vite build",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
"test": "vitest run && tsx --test test/api.test.ts test/asset-url.test.ts test/paginator.test.ts test/window.test.ts test/windowed-toc.test.ts",
|
|
"test:watch": "vitest",
|
|
"icons": "node tools/icons/build.mjs",
|
|
"ui:review": "npm run build && node tools/ui-review/react-app.mjs",
|
|
"ui:review:only": "node tools/ui-review/react-app.mjs",
|
|
"ui:review:reader": "node tools/ui-review/run.mjs",
|
|
"ui:sources": "npm run build && node --import ../server/node_modules/tsx/dist/loader.mjs tools/ui-review/host-source-flow.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@tanstack/query-core": "^5.104.0",
|
|
"@tanstack/react-query": "^5.90.5",
|
|
"dplayer": "^1.27.1",
|
|
"fast-xml-parser": "^4.5.1",
|
|
"jszip": "^3.10.1",
|
|
"lucide-react": "^0.468.0",
|
|
"notyf": "^3.10.0",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-router-dom": "^7.9.4",
|
|
"zustand": "^5.0.8"
|
|
},
|
|
"devDependencies": {
|
|
"@types/jsdom": "^30.0.0",
|
|
"@types/node": "^22.20.3",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"clipper-lib": "^6.4.2",
|
|
"jsdom": "^30.0.1",
|
|
"playwright": "^1.63.0",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.7.3",
|
|
"vite": "^6.0.7",
|
|
"vitest": "^3.2.4"
|
|
}
|
|
}
|