From ee849dab8efb5ed65764b496e8d57529ed74a19e Mon Sep 17 00:00:00 2001 From: isUnknown Date: Mon, 8 Dec 2025 12:27:15 +0100 Subject: [PATCH] fix: only show popup when clicking inside page template MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Filter clicks to only trigger ElementPopup for elements inside .pagedjs_page, preventing popups from appearing when clicking on wrapper elements like .pagedjs_pages. Also adds lock/unlock SVG icons. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- public/assets/svg/arrow-left-double-line.svg | 1 + public/assets/svg/lock-line.svg | 1 + public/assets/svg/lock-unlock-line.svg | 1 + src/App.vue | 5 +++-- 4 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 public/assets/svg/arrow-left-double-line.svg create mode 100644 public/assets/svg/lock-line.svg create mode 100644 public/assets/svg/lock-unlock-line.svg diff --git a/public/assets/svg/arrow-left-double-line.svg b/public/assets/svg/arrow-left-double-line.svg new file mode 100644 index 0000000..9091346 --- /dev/null +++ b/public/assets/svg/arrow-left-double-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/lock-line.svg b/public/assets/svg/lock-line.svg new file mode 100644 index 0000000..c8f7d93 --- /dev/null +++ b/public/assets/svg/lock-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/svg/lock-unlock-line.svg b/public/assets/svg/lock-unlock-line.svg new file mode 100644 index 0000000..205f472 --- /dev/null +++ b/public/assets/svg/lock-unlock-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 59bee17..81b2d0f 100644 --- a/src/App.vue +++ b/src/App.vue @@ -91,8 +91,9 @@ const handleIframeClick = (event) => { return; } - // Otherwise handle as element click - if (element.tagName === 'BODY' || element.tagName === 'HTML') { + // Only show popup for elements inside the page template + const isInsidePage = element.closest('.pagedjs_page'); + if (!isInsidePage) { elementPopup.value.close(); pagePopup.value.close(); return;