Let each visibility switch hide only its own thing
The margin notes hung off both switches: `hidden: hideInk || !showPins`, so turning off the drawing took the markers and their column with it — one switch turning off both of the things the pair exists to separate. The checks look at what is actually visible — the ink layer's opacity, how many markers are on the page, whether the column is there — and test both directions separately, which is what the old code failed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
52bd2b8f3d
commit
11f37b7921
2 files changed
+33
-1
No files matched your search
+28
@@ -759,6 +759,34 @@ try {
|
|||||||
await p.locator("[data-pdf-mode]").click();
|
await p.locator("[data-pdf-mode]").click();
|
||||||
await p.waitForTimeout(700);
|
await p.waitForTimeout(700);
|
||||||
|
|
||||||
|
/* Each switch hides its own thing and nothing else. They shared a condition
|
||||||
|
once, so hiding the drawing took the markers and their column with it —
|
||||||
|
one switch turning off both of the things the pair exists to separate. */
|
||||||
|
const drawingShows = async () =>
|
||||||
|
(await p.locator('[data-pdf-ink="1"]').evaluate((c) => getComputedStyle(c).opacity)) !== "0";
|
||||||
|
const marginNotesShow = async () => (await p.locator("[data-pin]").count()) > 0;
|
||||||
|
|
||||||
|
check((await drawingShows()) && (await marginNotesShow()), "both are showing to begin with");
|
||||||
|
|
||||||
|
await p.locator("[data-pdf-hide-ink]").click();
|
||||||
|
await p.waitForTimeout(900);
|
||||||
|
check(!(await drawingShows()), "hiding the drawing hides the drawing");
|
||||||
|
check(await marginNotesShow(), "and leaves the margin notes alone");
|
||||||
|
check(
|
||||||
|
(await p.locator("[data-pdf-margin]").count()) > 0,
|
||||||
|
"including their column",
|
||||||
|
String(await p.locator("[data-pdf-margin]").count())
|
||||||
|
);
|
||||||
|
await p.locator("[data-pdf-hide-ink]").click();
|
||||||
|
await p.waitForTimeout(900);
|
||||||
|
|
||||||
|
await p.locator("[data-pdf-show-pins]").click();
|
||||||
|
await p.waitForTimeout(900);
|
||||||
|
check(!(await marginNotesShow()), "hiding the margin notes hides the margin notes");
|
||||||
|
check(await drawingShows(), "and leaves the drawing alone");
|
||||||
|
await p.locator("[data-pdf-show-pins]").click();
|
||||||
|
await p.waitForTimeout(900);
|
||||||
|
|
||||||
check((await p.locator("[data-pdf-show-pins]").count()) === 1, "the margin notes can be hidden");
|
check((await p.locator("[data-pdf-show-pins]").count()) === 1, "the margin notes can be hidden");
|
||||||
await p.locator("[data-pdf-show-pins]").click();
|
await p.locator("[data-pdf-show-pins]").click();
|
||||||
await p.waitForTimeout(1200);
|
await p.waitForTimeout(1200);
|
||||||
|
|||||||
@@ -804,7 +804,11 @@ export function PdfViewer({ note, dark, onUpdate, onPagesReady, notesToggle, foc
|
|||||||
notes: notesForPage(ink, i + 1),
|
notes: notesForPage(ink, i + 1),
|
||||||
placing,
|
placing,
|
||||||
openId: openPin,
|
openId: openPin,
|
||||||
hidden: hideInk || !showPins,
|
// Only the margin-note switch decides this. It used to read
|
||||||
|
// `hideInk || !showPins`, so hiding the drawing took the
|
||||||
|
// markers and their column with it — one switch turning off
|
||||||
|
// both things the pair was meant to separate.
|
||||||
|
hidden: !showPins,
|
||||||
withMargin,
|
withMargin,
|
||||||
onOpen: setOpenPin,
|
onOpen: setOpenPin,
|
||||||
onPlace: placeNote,
|
onPlace: placeNote,
|
||||||
|
|||||||
Reference in new issue
Block a user