tg sticker v5.6

This commit is contained in:
2026-07-16 00:12:07 +02:00
parent a1f80d7407
commit 00a2f48fbf
3 changed files with 41 additions and 4 deletions

View File

@@ -1275,6 +1275,7 @@ html[theme='95'] .item-main-content .metadata {
padding: 2px 2px; padding: 2px 2px;
border-radius: 3px; border-radius: 3px;
line-height: 1; line-height: 1;
font-weight: bold;
} }
.flash-error { .flash-error {

View File

@@ -4081,9 +4081,27 @@ class CommentSystem {
el._stickerIsVideo = isVideo; el._stickerIsVideo = isVideo;
// Hold-to-preview // Hold-to-preview
let holdTimer = null; let holdTimer = null;
const startHold = () => { holdTimer = setTimeout(() => window.stickerPreview?.show(url, isVideo), 400); }; let holdFired = false;
const startHold = () => {
holdFired = false;
holdTimer = setTimeout(() => {
holdFired = true;
window.stickerPreview?.show(url, isVideo);
}, 400);
};
const cancelHold = () => { clearTimeout(holdTimer); }; const cancelHold = () => { clearTimeout(holdTimer); };
const endHold = () => { clearTimeout(holdTimer); window.stickerPreview?.hide(); }; const endHold = () => {
clearTimeout(holdTimer);
if (holdFired) {
holdFired = false;
// Suppress the click that fires on mouseup after a preview gesture
el.addEventListener('click', (e) => {
e.stopImmediatePropagation();
e.preventDefault();
}, { once: true, capture: true });
}
window.stickerPreview?.hide();
};
el.addEventListener('mousedown', startHold); el.addEventListener('mousedown', startHold);
el.addEventListener('mouseup', endHold); el.addEventListener('mouseup', endHold);
el.addEventListener('mouseleave', cancelHold); el.addEventListener('mouseleave', cancelHold);

View File

@@ -1788,9 +1788,27 @@ if (window.__dmLoaded) {
el._stickerIsVideo = isVideo; el._stickerIsVideo = isVideo;
// Hold-to-preview (uses shared window.stickerPreview from comments.js) // Hold-to-preview (uses shared window.stickerPreview from comments.js)
let holdTimer = null; let holdTimer = null;
const startHold = () => { holdTimer = setTimeout(() => window.stickerPreview?.show(url, isVideo), 400); }; let holdFired = false;
const startHold = () => {
holdFired = false;
holdTimer = setTimeout(() => {
holdFired = true;
window.stickerPreview?.show(url, isVideo);
}, 400);
};
const cancelHold = () => { clearTimeout(holdTimer); }; const cancelHold = () => { clearTimeout(holdTimer); };
const endHold = () => { clearTimeout(holdTimer); window.stickerPreview?.hide(); }; const endHold = () => {
clearTimeout(holdTimer);
if (holdFired) {
holdFired = false;
// Suppress the click that fires on mouseup after a preview gesture
el.addEventListener('click', (e) => {
e.stopImmediatePropagation();
e.preventDefault();
}, { once: true, capture: true });
}
window.stickerPreview?.hide();
};
el.addEventListener('mousedown', startHold); el.addEventListener('mousedown', startHold);
el.addEventListener('mouseup', endHold); el.addEventListener('mouseup', endHold);
el.addEventListener('mouseleave', cancelHold); el.addEventListener('mouseleave', cancelHold);