diff options
author | Front <27463495+Frontesque@users.noreply.github.com> | 2021-12-02 01:37:09 +0300 |
---|---|---|
committer | Nikita Krupin <krupin.nikita0110@gmail.com> | 2021-12-02 01:51:41 +0300 |
commit | 287d419c373bc9389c1645b5635b6ea3eeff2534 (patch) | |
tree | 1f9d9616e98cd60676e9827aa68d0c40762a7022 | |
parent | c649f2b5838830084fe81b26e75268ad9d55fed3 (diff) |
Live Disliking Feature (issue #59, #93) For Firefox
-rw-r--r-- | Extensions/firefox/return-youtube-dislike.script.js | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/Extensions/firefox/return-youtube-dislike.script.js b/Extensions/firefox/return-youtube-dislike.script.js index 293388b..a00ed18 100644 --- a/Extensions/firefox/return-youtube-dislike.script.js +++ b/Extensions/firefox/return-youtube-dislike.script.js @@ -8,8 +8,11 @@ function cLog(message, writer) { } function getButtons() { + + //--- If Menu Element Is Displayed: ---// if (document.getElementById("menu-container").offsetParent === null) { return document.querySelector("ytd-menu-renderer.ytd-watch-metadata > div"); + //--- If Menu Element Isnt Displayed: ---// } else { return document .getElementById("menu-container") @@ -51,14 +54,22 @@ function getState() { return "neutral"; } +//--- Sets The Likes And Dislikes Values ---// function setLikes(likesCount) { getButtons().children[0].querySelector("#text").innerText = likesCount; } - function setDislikes(dislikesCount) { getButtons().children[1].querySelector("#text").innerText = dislikesCount; } +//--- Gets Current Dislike Value From Local Device ---// +function getDislikes() { + let dislikes = getButtons().children[1].querySelector("#text").innerText; + dislikes = parseInt(dislikes); + return dislikes; +} + + function setState() { let statsSet = false; browser.runtime.sendMessage( @@ -106,12 +117,21 @@ function setState() { } function likeClicked() { - // console.log("like" + getState()); + console.log("Dislike State:",getState()); // setState(); } function dislikeClicked() { - // console.log("dislike" + getState()); + let state = getState(); + + console.log("Dislike State:",state); + + if (state == 'disliked') { + setDislikes(getDislikes() + 1) + } else if (state == 'neutral') { + setDislikes(getDislikes() + -1) + } + // setState(); } |