X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/bdc6fa5714330f27916756fd9a0dfbe9d14954df..f59de09387c7ceb7d6ab2ccf6ea25cb4be8dacb5:/src/wolnelektury/static/js/main.js diff --git a/src/wolnelektury/static/js/main.js b/src/wolnelektury/static/js/main.js index 9821c7705..b22451168 100644 --- a/src/wolnelektury/static/js/main.js +++ b/src/wolnelektury/static/js/main.js @@ -422,7 +422,7 @@ data: {'csrfmiddlewaretoken': $('[name=csrfmiddlewaretoken]').val()}, dataType: 'json', success: function() { - state.liked[$btn.attr('data-book')] = []; + state.liked[$btn.attr('data-book')] = [{'favorites': true}]; updateLiked($btn); }, error: function() { @@ -502,21 +502,27 @@ function updateLiked(e) { let bookId = $(e).attr('data-book'); - let liked = bookId in state.liked; - $(e).toggleClass('icon-liked', liked); + let liked = false; + let $bookContainer = $('.book-container-' + bookId); - $bookContainer.toggleClass('book-liked', liked); let $sets = $(".sets", $bookContainer); $sets.empty(); $.each(state.liked[bookId], (i,e) => { - let $set = $(""); - $set.attr("data-set", e.slug); - let $setA = $("").appendTo($set); - $setA.attr("href", e.url); - $setA.text(e.name); - let $setX = $("").appendTo($set); - $sets.append($set); + if (e.favorites) { + liked = true; + } else { + let $set = $(""); + $set.attr("data-set", e.slug); + let $setA = $("").appendTo($set); + $setA.attr("href", e.url); + $setA.text(e.name); + let $setX = $("").appendTo($set); + $sets.append($set); + } }); + + $(e).toggleClass('icon-liked', liked); + $bookContainer.toggleClass('book-liked', liked); } })(); @@ -572,12 +578,10 @@ $(".c-media__settings").toggleClass('active'); }); - const crisis = document.querySelector(".annoy-banner_crisis-container"); - const crisisLink = document.querySelector('.annoy-banner_crisis-container a.action'); - if (crisis) { - crisis.addEventListener("click", function() { - crisisLink.click(); - }); - } + $(".annoy-banner-clickable").each(function() { + $(this).click(() => { + $("a.action", this).click(); + }); + }); })();