From 4a318e68d617a0ab5aef9e7c38755bdafab55d25 Mon Sep 17 00:00:00 2001 From: Jason Hoku Date: Fri, 8 May 2026 10:25:51 -0700 Subject: [PATCH] revert: remove single-click-to-open-lightbox on card images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User feedback: still triggers accidentally during panning. Reverts the click-to-open feature added in 8790f97 (with timer-based fix in 4672116). REVISE button remains the only way to open the modal. In-modal keyboard navigation (arrow keys, spacebar, 1-9 favorite, ESC) added in 8790f97 stays intact — that part of the lightbox feature is useful and uncontroversial. Co-Authored-By: Claude Opus 4.7 (1M context) --- resources/logic_ui.js | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/resources/logic_ui.js b/resources/logic_ui.js index ac93826..3db8587 100644 --- a/resources/logic_ui.js +++ b/resources/logic_ui.js @@ -1267,30 +1267,6 @@ function copyConfigsAsComfyNodes(id) { } -// Click-delay helper: distinguishes single-click (open lightbox) from double-click -// (toggle favorite) on card elements. Browsers fire two click events before -// dblclick, so a plain onclick+ondblclick causes the modal to open twice and the -// favorite to flip on every double-click. On mobile, tap-to-scroll also fired the -// onclick accidentally. Solution: first click arms a 250ms timer; a second click -// within that window cancels the timer and calls toggleFavorite instead. -const _imgClickTimers = new WeakMap(); -window._cardImgClick = function(imgEl, itemId) { - const pending = _imgClickTimers.get(imgEl); - if (pending) { - // Second click arrived within 250ms → treat as double-click → favorite - clearTimeout(pending); - _imgClickTimers.delete(imgEl); - if (typeof toggleFavorite === 'function') toggleFavorite(imgEl); - return; - } - // First click → schedule lightbox open after 250ms - const t = setTimeout(() => { - _imgClickTimers.delete(imgEl); - if (typeof openM === 'function') openM(itemId); - }, 250); - _imgClickTimers.set(imgEl, t); -}; - // Create card - FIXED UI LAYOUT WITH FAVORITE BUTTON function createCard(d) { const totalIndex = idToIndexMap.get(d.id) || 0; @@ -1338,7 +1314,7 @@ function createCard(d) { const isVideo = d.media_type === 'video'; const mediaElement = isVideo ? `` - : `Image ${d.id}`; + : `Image ${d.id}`; const reviseBtn = isVideo ? '' : ``; const upscaleBtn = isVideo ? '' : ``; const videoBadge = isVideo ? '
\u25B6 VIDEO
' : '';