XingfenD
c2aae7e4e0
fix(frontend): copy .npmrc into docker builds, use glibc build stage
...
CI / backend (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
npm ci in the images ran without frontend/.npmrc, so the eslint 9/10 peer
conflict aborted it (legacy-peer-deps=true lives in .npmrc). The release
build stage also used alpine/musl, where npm ci skipped the rolldown
native bindings and vite build failed; build on glibc like dev instead.
2026-09-16 23:45:12 +08:00
XingfenD
ef57b194f4
chore(frontend): tighten eslint/axe gates, remove reader waivers (B5 done, spec ② complete)
CI / backend (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
2026-09-16 19:27:25 +08:00
XingfenD
395be9688d
refactor(frontend): remove ui.ts/icons.tsx and all rd-* legacy classes (B5)
2026-09-16 17:53:51 +08:00
XingfenD
28d8587e71
feat(frontend): shelf reading stats card + session tracking (B4)
2026-09-16 17:49:12 +08:00
XingfenD
4767ee7fec
refactor(frontend): PDF reader chrome to shadcn (B4)
2026-09-16 17:43:51 +08:00
XingfenD
8831a9b277
feat(frontend): EPUB typography themes + chrome migration (B3)
2026-09-16 17:41:35 +08:00
XingfenD
272d0bc672
test(frontend): text search e2e with txt fixture (B2)
2026-09-16 17:37:50 +08:00
XingfenD
1004daf821
feat(frontend): text reader search + typography, chrome migration (B2)
2026-09-16 16:58:39 +08:00
XingfenD
74e5e9d5fe
feat(frontend): in-book text search core (TDD)
2026-09-16 16:51:36 +08:00
XingfenD
0d7cd5f322
chore(frontend): remove debug probe artifact
2026-09-16 16:50:59 +08:00
XingfenD
174c498757
test(frontend): CBZ page-mode component test + e2e mode/RTL smoke (B1)
2026-09-16 16:50:55 +08:00
XingfenD
26aafb3f53
feat(frontend): CBZ page/spread modes + RTL, chrome migration (B1)
2026-09-16 16:20:08 +08:00
XingfenD
cea2414371
refactor(frontend): shared reader chrome to shadcn/radix (header, nav Sheet, bookmarks)
2026-09-16 15:46:07 +08:00
XingfenD
1f9d7e7572
feat(frontend): cbz page/spread view math (TDD)
2026-09-16 15:22:59 +08:00
XingfenD
996f492083
feat(frontend): reading stats store (TDD) + session heartbeat hook (B0)
2026-09-16 15:22:38 +08:00
XingfenD
6aefe62a9f
feat(frontend): unified reader settings bar with theme linkage (B0)
2026-09-16 15:20:18 +08:00
XingfenD
8283d66db6
feat(frontend): shadcn sheet/tabs/slider primitives (B0)
2026-09-16 15:17:26 +08:00
XingfenD
655b77c2b7
feat(frontend): reading theme token group + useGlobalDark for auto linkage (B0)
2026-09-16 15:15:53 +08:00
XingfenD
64cc293878
feat(frontend): readerPrefs v2 unified structure (TDD)
2026-09-16 15:15:08 +08:00
XingfenD
72cf13c8c3
chore(frontend): extend tsc coverage to e2e/configs, tighten vitest include (B0)
2026-09-16 15:13:35 +08:00
XingfenD
2fccf3f2b3
docs: record TS side-by-side + legacy-peer-deps conventions (AGENTS.md + .npmrc)
CI / backend (push) Canceled after 0s
CI / frontend (push) Canceled after 0s
2026-09-16 11:43:21 +08:00
XingfenD
f5c33f538e
chore(frontend): bundle analyzer via npm run analyze (B4)
2026-09-16 11:00:22 +08:00
XingfenD
f2f06a516b
test(frontend): e2e admin smoke (create library + scan)
2026-09-16 10:48:23 +08:00
XingfenD
9c6339d35e
test(frontend): e2e main flow (login→shelf→cbz→bookmark→logout) + axe scans
2026-09-15 17:29:20 +08:00
XingfenD
217adf5914
test(frontend): e2e api/axe helpers
2026-09-15 14:13:58 +08:00
XingfenD
ba28fe9037
test(frontend): tiny 3-page CBZ fixture for e2e
2026-09-15 14:11:24 +08:00
XingfenD
b65ea93984
test(frontend): playwright e2e scaffolding (config + scripts)
2026-09-15 12:00:45 +08:00
XingfenD
a3755bcfab
test(frontend): sample component tests for button/dialog/theme-toggle (B2)
2026-09-15 11:54:56 +08:00
XingfenD
38957b4c2c
fix(frontend): install @testing-library/dom (missing peer under legacy-peer-deps)
2026-09-15 11:50:44 +08:00
XingfenD
ca419410b4
test(frontend): component testing infra (jsdom + testing-library + vitest projects)
2026-09-15 11:46:20 +08:00
XingfenD
147339083b
chore(frontend): wire lint+format into check gate, changelog (B1 done)
2026-09-15 11:44:21 +08:00
XingfenD
a427aa1c4a
fix(frontend): resolve all eslint errors to zero (B1)
2026-09-15 11:39:21 +08:00
XingfenD
29167d3cea
style(frontend): prettier baseline format (no logic change)
2026-09-15 11:27:54 +08:00
XingfenD
09a02fa0d7
chore(frontend): eslint flat config + prettier baseline config
2026-09-15 11:22:02 +08:00
XingfenD
2e43cb2423
fix(web): stop CBZ reader snapping/bouncing at chapter end on mixed-orientation books
2026-09-08 22:42:05 +08:00
XingfenD
fd227c1f00
feat(web): table-style 库管理, admin entries under avatar 系统管理, shelf-view upload button
2026-09-08 21:45:03 +08:00
XingfenD
3178c2802f
refactor(web): extract prefetch slider into reusable RdSlider component
2026-09-08 21:31:20 +08:00
XingfenD
472e58bec9
fix(web): unify 更多 menu text size, add 0-3 tick anchors under prefetch slider
2026-09-08 21:30:26 +08:00
XingfenD
d2c852d6f0
feat(web): iconify reader chrome, move 连读/预读 into 更多 menu with slider
2026-09-08 21:29:01 +08:00
XingfenD
9c2b7e2074
feat(web): collapse reader toc/bookmark buttons into single 导航 toolbar button
2026-09-08 21:11:16 +08:00
XingfenD
48161ea1ff
feat(web): unify reader TOC and bookmarks into one left nav drawer with tabs
2026-09-08 21:08:42 +08:00
XingfenD
6fbe3b0794
fix(web): active lib highlight, rail a11y names, card focus ring, AA accent + destructive tokens, touch-reachable menu, brand wordmark, chrome unify
2026-09-08 20:37:20 +08:00
XingfenD
7727baa25b
fix(web): theme menu items fire on keyboard select (onSelect)
2026-09-08 19:19:45 +08:00
XingfenD
dcaf502de6
feat(ui): admin pages on shadcn table/card/alert-dialog; drop TopBar, trim icons/ui.ts to reader-compat surface
2026-09-08 19:14:41 +08:00
XingfenD
273f35a42f
fix(web): shelf search debounce merges against live searchParams (no lost sort/group clicks)
2026-09-08 19:08:05 +08:00
XingfenD
b1c0db6c03
feat(ui): shelf rebuilt — sticky toolbar (search/sort/group in URL), rail, menu cards, alert-dialog delete
2026-09-08 18:58:16 +08:00
XingfenD
d9e9e95ece
feat(ui): login rebuilt on shadcn card/label/input, theme toggle available pre-auth
2026-09-08 17:47:17 +08:00
XingfenD
52e95a48d8
fix(ui): gate app sidebar to md+ and use onSelect for logout (keyboard path)
2026-09-08 17:41:29 +08:00
XingfenD
7957e5cee5
feat(ui): AppShell layout route — desktop rail, tablet icon rail, mobile tabs, theme toggle
2026-09-08 17:35:14 +08:00
XingfenD
913f3286bb
feat(lib): shelf sort/section pure helpers + formatSize extraction, table tests
2026-09-08 17:29:07 +08:00