From 1ebfa5a5617e17bfe77ae0febce6bb6de8d4fc7d Mon Sep 17 00:00:00 2001 From: Rodrigo Emanuel Date: Thu, 11 Sep 2025 14:47:21 -0300 Subject: [PATCH 1/3] Like Function FIx --- multichat-overlay/script.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/multichat-overlay/script.js b/multichat-overlay/script.js index 6779df8..960e591 100644 --- a/multichat-overlay/script.js +++ b/multichat-overlay/script.js @@ -2728,7 +2728,8 @@ function TikTokLikes(data) { var likeCountTotal = parseInt(data.likeCount); // Search for Previous Likes from the Same User - const previousLikeContainer = document.querySelector(`li[data-user-id="${data.userId}"]`); + //const previousLikeContainer = document.querySelector(`li[data-user-id="${data.userId}"]`); + const previousLikeContainer = document.querySelector(`.likes[data-user-identifier="${data.userId}"]`); // If found, fetches the previous likes, deletes the element // and then creates a new count with a sum of the like count @@ -2737,7 +2738,7 @@ function TikTokLikes(data) { if (likeCountElem) { var likeCountPrev = parseInt(likeCountElem.textContent.replace('x', '')); likeCountTotal = Math.floor(likeCountPrev + likeCountTotal); - previousLikeContainer.remove(); + previousLikeContainer.parentElement.parentElement.remove(); } } @@ -2746,6 +2747,15 @@ function TikTokLikes(data) { // Create a new instance of the template const instance = template.content.cloneNode(true); + + // gets the GiftElement + const giftElement = instance.querySelector('.tiktok-gift'); + + // adds the like class + giftElement.classList.add('likes'); + + // and assigns the user id + giftElement.dataset.userIdentifier = data.userId; // Get divs const avatarImg = instance.querySelector('.tiktok-gift-avatar'); From aed7e5a921826b4907529b9f5487b5d14d408d9c Mon Sep 17 00:00:00 2001 From: Rodrigo Emanuel Date: Thu, 11 Sep 2025 15:14:26 -0300 Subject: [PATCH 2/3] Update script.js --- multichat-overlay/script.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/multichat-overlay/script.js b/multichat-overlay/script.js index 960e591..0927ff1 100644 --- a/multichat-overlay/script.js +++ b/multichat-overlay/script.js @@ -2725,10 +2725,10 @@ function TikTokLikes(data) { // Get the total number of likes - var likeCountTotal = parseInt(data.likeCount); + let likeCountTotal = parseInt(data.likeCount); + let sumLikes = 0; // Search for Previous Likes from the Same User - //const previousLikeContainer = document.querySelector(`li[data-user-id="${data.userId}"]`); const previousLikeContainer = document.querySelector(`.likes[data-user-identifier="${data.userId}"]`); // If found, fetches the previous likes, deletes the element @@ -2736,9 +2736,13 @@ function TikTokLikes(data) { if (previousLikeContainer) { const likeCountElem = previousLikeContainer.querySelector('#tiktok-gift-repeat-count'); if (likeCountElem) { - var likeCountPrev = parseInt(likeCountElem.textContent.replace('x', '')); - likeCountTotal = Math.floor(likeCountPrev + likeCountTotal); - previousLikeContainer.parentElement.parentElement.remove(); + const liLikeContainer = previousLikeContainer.parentElement?.parentElement + if (liLikeContainer) { + var likeCountPrev = parseInt(likeCountElem.textContent.replace('x', ''), 10); + sumLikes = Math.floor(likeCountPrev + likeCountTotal); + //console.log(`[User ${data.userId}] likeCountPrev: ${likeCountPrev}, likeCountToAdd: ${likeCountTotal}, sumLikes: ${sumLikes}`); + previousLikeContainer.parentElement.parentElement.remove(); + } } } @@ -2768,7 +2772,7 @@ function TikTokLikes(data) { usernameSpan.innerText = data.nickname; giftNameSpan.innerText = 'Likes'; stickerImg.src = ''; - repeatCountDiv.innerText = `x${likeCountTotal}`; + repeatCountDiv.innerText = `x${sumLikes}`; AddMessageItem(instance, data.msgId, 'tiktok', data.userId); } From 274ed6bf5520a11da792b0e4bb793e434a50f7c7 Mon Sep 17 00:00:00 2001 From: Rodrigo Emanuel Date: Thu, 11 Sep 2025 15:38:45 -0300 Subject: [PATCH 3/3] Update script.js --- multichat-overlay/script.js | 64 ++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 29 deletions(-) diff --git a/multichat-overlay/script.js b/multichat-overlay/script.js index 0927ff1..ab79cbc 100644 --- a/multichat-overlay/script.js +++ b/multichat-overlay/script.js @@ -2725,8 +2725,7 @@ function TikTokLikes(data) { // Get the total number of likes - let likeCountTotal = parseInt(data.likeCount); - let sumLikes = 0; + let likeCount = parseInt(data.likeCount); // Search for Previous Likes from the Same User const previousLikeContainer = document.querySelector(`.likes[data-user-identifier="${data.userId}"]`); @@ -2738,43 +2737,50 @@ function TikTokLikes(data) { if (likeCountElem) { const liLikeContainer = previousLikeContainer.parentElement?.parentElement if (liLikeContainer) { - var likeCountPrev = parseInt(likeCountElem.textContent.replace('x', ''), 10); - sumLikes = Math.floor(likeCountPrev + likeCountTotal); - //console.log(`[User ${data.userId}] likeCountPrev: ${likeCountPrev}, likeCountToAdd: ${likeCountTotal}, sumLikes: ${sumLikes}`); - previousLikeContainer.parentElement.parentElement.remove(); + + let prevLikeCount = parseInt(likeCountElem.textContent.replace('x', ''), 10); + let likeCountUpdate = Math.floor(prevLikeCount + likeCount); + let likeCountDiv = previousLikeContainer.querySelector('#tiktok-gift-repeat-count'); + + likeCountDiv.innerText = `x${likeCountUpdate}`; + + const parent = liLikeContainer.parentElement; + if (parent) { parent.appendChild(liLikeContainer); } } } } - // Get a reference to the template - const template = document.getElementById('tiktok-gift-template'); + else { + // Get a reference to the template + const template = document.getElementById('tiktok-gift-template'); - // Create a new instance of the template - const instance = template.content.cloneNode(true); - - // gets the GiftElement - const giftElement = instance.querySelector('.tiktok-gift'); + // Create a new instance of the template + const instance = template.content.cloneNode(true); + + // gets the GiftElement + const giftElement = instance.querySelector('.tiktok-gift'); - // adds the like class - giftElement.classList.add('likes'); + // adds the like class + giftElement.classList.add('likes'); - // and assigns the user id - giftElement.dataset.userIdentifier = data.userId; + // and assigns the user id + giftElement.dataset.userIdentifier = data.userId; - // Get divs - const avatarImg = instance.querySelector('.tiktok-gift-avatar'); - const usernameSpan = instance.querySelector('#tiktok-gift-username'); - const giftNameSpan = instance.querySelector('#tiktok-gift-name'); - const stickerImg = instance.querySelector('.tiktok-gift-sticker'); - const repeatCountDiv = instance.querySelector('#tiktok-gift-repeat-count'); + // Get divs + const avatarImg = instance.querySelector('.tiktok-gift-avatar'); + const usernameSpan = instance.querySelector('#tiktok-gift-username'); + const giftNameSpan = instance.querySelector('#tiktok-gift-name'); + const stickerImg = instance.querySelector('.tiktok-gift-sticker'); + const repeatCountDiv = instance.querySelector('#tiktok-gift-repeat-count'); - avatarImg.src = data.profilePictureUrl; - usernameSpan.innerText = data.nickname; - giftNameSpan.innerText = 'Likes'; - stickerImg.src = ''; - repeatCountDiv.innerText = `x${sumLikes}`; + avatarImg.src = data.profilePictureUrl; + usernameSpan.innerText = data.nickname; + giftNameSpan.innerText = 'Likes'; + stickerImg.src = ''; + repeatCountDiv.innerText = `x${likeCount}`; - AddMessageItem(instance, data.msgId, 'tiktok', data.userId); + AddMessageItem(instance, data.msgId, 'tiktok', data.userId); + } } function TikTokGift(data) {