XingfenD
|
1bd7688ee6
|
feat(web): admin users CRUD + libraries create/scan/upload
|
2026-09-07 16:18:58 +08:00 |
|
XingfenD
|
4f4eff871c
|
feat(web): epub reader via epubjs arraybuffer bootstrap with cfi progress
|
2026-09-07 16:15:10 +08:00 |
|
XingfenD
|
de3015e537
|
feat(web): pdf reader with dpr-aware canvas rendering and keyboard paging
|
2026-09-07 16:08:49 +08:00 |
|
XingfenD
|
b2e40a5049
|
feat(web): txt/md reader with dompurified markdown and scroll-fraction progress
|
2026-09-07 16:04:37 +08:00 |
|
XingfenD
|
654e4febf1
|
feat(web): cbz reader — virtual scroll with height correction, prefetch, progress restore
|
2026-09-07 15:58:01 +08:00 |
|
XingfenD
|
97f6d2d3b6
|
feat(web): throttled progress saver with keepalive flush, reader dispatch shell
|
2026-09-07 15:47:11 +08:00 |
|
XingfenD
|
bc81b03d6a
|
fix(web): hide scan trigger from members per admin-only write rule
|
2026-09-07 15:44:08 +08:00 |
|
XingfenD
|
cf512b7d5a
|
feat(web): shelf with library tabs, search, dir groups, covers, continue-reading, admin delete/scan
|
2026-09-07 15:40:03 +08:00 |
|
XingfenD
|
63b41f333e
|
feat(web): authed blob image pipeline with LRU, cover card, dir grouping
|
2026-09-07 15:36:19 +08:00 |
|
XingfenD
|
b231b62720
|
fix(web): login honors from-path redirect; me-error clears stored token
|
2026-09-07 15:32:13 +08:00 |
|
XingfenD
|
c34289ebbe
|
feat(web): auth context, login page, route guards, toast/error shell
|
2026-09-07 15:27:11 +08:00 |
|
XingfenD
|
2f0fc25c7c
|
feat(web): typed api client with bearer token, 401 logout, binary channels
|
2026-09-07 15:23:18 +08:00 |
|
XingfenD
|
0cc040d750
|
feat(web): vite+react+ts+tailwind4 scaffold, vitest, /api dev proxy
|
2026-09-07 15:19:02 +08:00 |
|