diff --git a/resources/assets/src/js/__tests__/skinlib.test.js b/resources/assets/src/js/__tests__/skinlib.test.js index c9b495d7..3c494a79 100644 --- a/resources/assets/src/js/__tests__/skinlib.test.js +++ b/resources/assets/src/js/__tests__/skinlib.test.js @@ -559,8 +559,9 @@ describe('tests for "operations" module', () => { window.trans = jest.fn(key => key); document.body.innerHTML = `
@@ -120,6 +121,7 @@ function renderSkinlibItemComponent(item) {
+ ${ item.likes }
diff --git a/resources/assets/src/js/skinlib/operations.js b/resources/assets/src/js/skinlib/operations.js
index daca0429..b85e2526 100644
--- a/resources/assets/src/js/skinlib/operations.js
+++ b/resources/assets/src/js/skinlib/operations.js
@@ -180,17 +180,21 @@ async function changeTextureModel(tid, oldModel) {
* @return {null}
*/
function updateTextureStatus(tid, action) {
- const likes = parseInt($('#likes').html()) + (action === 'add' ? 1 : -1);
+ const likesCounter = $('#likes').length ? $('#likes') : $(`.item[tid=${tid}] .likes-count`);
+ const likes = parseInt(likesCounter.html()) + (action === 'add' ? 1 : -1);
const buttonAction = (action === 'add') ? 'removeFromCloset' : 'addToCloset';
+ likesCounter.html(likes);
- $(`a[tid=${tid}]`)
+ // On "skinlib" page
+ $(`a.like[tid=${tid}]`)
.attr('onclick', `${buttonAction}(${tid});`)
.attr('title', trans(`skinlib.${buttonAction}`))
.toggleClass('liked');
- $(`#${tid}`)
+
+ // On "skinlib/show" page
+ $(`.btn#${tid}`)
.attr('onclick', `${buttonAction}(${tid});`)
.html(trans(`skinlib.${buttonAction}`));
- $('#likes').html(likes);
$('#quick-apply').toggle(action === 'add');
}