mirror of
https://github.com/hectorqin/reader.git
synced 2026-11-13 06:20:54 +08:00
Reader - The reading surface declared no touch-action, so the browser claimed every horizontal drag (pointercancel): a swipe never turned a page on a phone, and a rightward one triggered the browser's back gesture and left the book. Paged and fixed layouts now leave every move to the gesture layer (touch-action: none, on the host and on the paged column in the shadow root); scroll mode keeps vertical panning only (pan-y), so it still scrolls and no longer navigates away. Horizontal swipes in scroll mode stay inert. Tabs - useSwipeTabs (shared/ui): a clearly horizontal touch swipe moves one tab. Mouse, short or diagonal moves, scrolls the browser took over, swipes that start on a control or a sideways-scrolling row, and active selections are ignored; the click the finger lifted over is suppressed. The entering body slides in from the swipe side (header and tab row stay put; reduced motion disables it). - Media: the eight catalog tabs are one line across channels — 影视(首页 电影 剧集)→ 音乐(专辑 歌手 曲目)→ 有声书(有声书 演播者). Library and sort carry over within a channel and reset across one. - Shelf: 全部 · 在读 · 想读 · 已读. Tests: swipe-tabs (gesture rules, catalog order and params) and the reader's touch-action rules in reader-layout-css. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>