Leaner userscript: edge tab, card-click continue, test harness #7

Merged
sulthan merged 7 commits from feat/leaner-functionality into main 2026-07-28 16:21:02 +07:00

7 Commits

Author SHA1 Message Date
sulthan 8f32062bab fix: scope the export hook to Node, refresh the stale ring comment
The module.exports guard fired on any page whose own scripts define a UMD
module shim — under @grant none the userscript shares page globals, so that
clobbered the page's exports. A typeof window check keeps it to Node.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 16:07:42 +07:00
sulthan b3903440df docs: correct the long-press comment's pinch-zoom claim
The slop check cancels a normal-speed pinch, not every pinch. Verified live:
a deliberately slow one that stays inside 15px for the full 500ms does open
the panel. Accepted — an absolute per-finger drift threshold cannot separate
that from two fingers resting, which is the gesture being detected.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 16:03:41 +07:00
sulthan ffded90676 chore: bump userscript to 1.5.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 16:02:11 +07:00
sulthan f2126733bd feat: two-finger long-press opens the panel
A second way in that does not depend on finding a 7px tab. Two fingers rather
than one because Chromium claims the one-finger long press for image menus and
text selection, and a manga reader is all images. Passive listeners; a
pinch-zoom cancels via the 15px slop check.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 15:40:18 +07:00
sulthan 04359ea034 feat: replace the FAB with a 7x44 edge tab
The circular button covered artwork exactly while reading. The tab keeps the
drag-and-snap behaviour and the mangabm:fabpos key; only its box changes. The
dwell countdown becomes a bottom-up fill of the tab, since a sliver has no room
for a ring.

Also fixes a latent bug the new shape exposes: placeFab and makeDraggable used
offsetWidth for the vertical clamp too. Invisible on a 52px circle, off by 37px
on a 7x44 tab.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 15:36:31 +07:00
sulthan d93a94f1aa feat: card body is the continue target; drop Continue and Edit
Cover, title, and subtitle become one link to the last-read chapter. The action
row is a sibling of that link, so the destructive button is never also a
navigation target, and Remove now confirms. Manual chapter entry is dropped
entirely — the web UI has a real form, and in the field the existing
'Update to Chapter N' button covers it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 15:32:15 +07:00
sulthan 383dbaa7eb test: zero-dependency harness for userscript adapter logic
Loads the IIFE in bare Node behind a minimal localStorage/document stub, with
document.body left undefined so the boot block defers and the UI never builds.
Adds a module.exports hook that is inert in every real userscript engine.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 15:26:50 +07:00