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 / frontend (push) Canceled after 0s
CI / backend (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 |
|
XingfenD
|
03bc537308
|
feat(ui): semantic light/dark tokens, ThemeProvider with FOUC guard, token-restyle Toaster/Cover
|
2026-09-08 17:17:44 +08:00 |
|
XingfenD
|
87b7545a94
|
feat(ui): shadcn/radix toolchain — deps, @ alias, cn, generated primitives
|
2026-09-08 17:07:28 +08:00 |
|
XingfenD
|
2721df8ea9
|
fix(web): upload toast always showed 0 files (live FileList read after input reset); snapshot before upload
|
2026-09-08 16:22:12 +08:00 |
|
XingfenD
|
e5dacc0a77
|
fix(cbz): clamp locked cur at chapter end, hide 连读 on flat packs, silent restore, tighten prefetch storage
|
2026-09-08 15:28:27 +08:00 |
|
XingfenD
|
60c4ccf26f
|
fix(cbz): window-relative scroll geometry locks head boundary; default prefetch 2 when key absent
|
2026-09-08 15:15:42 +08:00 |
|
XingfenD
|
f63b639f64
|
feat(cbz): chapter-scoped continuous reading — lock scroll at chapter end, screen paging, prefetch next N chapters; drop 连读/整页/适高 modes
|
2026-09-08 15:01:28 +08:00 |
|
XingfenD
|
cd251b940c
|
feat(cbz): pure chapter-window helpers (chapterIndexAt/chapterWin) with table tests
|
2026-09-08 14:56:46 +08:00 |
|
XingfenD
|
497dc16604
|
fix(deploy): COPY paths in web Dockerfiles still referenced old web/ dir after web->frontend rename — dev image build failed
|
2026-09-08 14:53:29 +08:00 |
|
XingfenD
|
ec3f2c587e
|
feat(reader): remove admin delete button from reader header; shelf card hover remains the only delete entry
|
2026-09-08 13:08:46 +08:00 |
|
XingfenD
|
a43b73dcef
|
fix(cbz): attach resize observer via callback ref + drop vh from scroll-mode geometry deps — fixes constant per-page gaps and refetch storm on mobile
|
2026-09-08 13:05:58 +08:00 |
|
XingfenD
|
32b9d3a136
|
feat(ui): content-first shelf redesign — responsive cover grid, hover overlays, format badges, skeletons, sticky blurred top bar, brand login, SVG icon set, animated toasts
|
2026-09-08 13:05:40 +08:00 |
|
XingfenD
|
d989668650
|
feat(bookmarks): shared useBookmarks panel + wired into all four readers
|
2026-09-08 01:06:39 +08:00 |
|