Răsfoiți Sursa

fix bug where disliking a video with 1k+ dislikes shows 1 dislike

Front 3 ani în urmă
părinte
comite
1f492b4a07

+ 7 - 9
Extensions/chrome/return-youtube-dislike.script.js

@@ -1,4 +1,8 @@
 (function (extensionId) {
+  let storedData = {
+    dislikes: 0
+  };
+
   function cLog(message, writer) {
     message = `[return youtube dislike]: ${message}`;
     if (writer) {
@@ -66,13 +70,6 @@
     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() {
@@ -91,6 +88,7 @@
             if (response.likes || response.dislikes) {
               const formattedDislike = numberFormat(response.dislikes);
               setDislikes(formattedDislike);
+              storedData.dislikes = parseInt(response.dislikes);
               createRateBar(response.likes, response.dislikes);
               statsSet = true;
             }
@@ -133,9 +131,9 @@
     console.log("Dislike State:",state);
 
     if (state == 'disliked') {
-      setDislikes(getDislikes() + 1)
+      setDislikes(numberFormat(storedData.dislikes))
     } else if (state == 'neutral') {
-      setDislikes(getDislikes() + -1)
+      setDislikes(numberFormat(storedData.dislikes - 1))
     }
 
     // setState();

BIN
Extensions/firefox/firefox.zip


+ 8 - 9
Extensions/firefox/return-youtube-dislike.script.js

@@ -1,3 +1,7 @@
+let storedData = {
+  dislikes: 0
+};
+
 function cLog(message, writer) {
   message = `[return youtube dislike]: ${message}`;
   if (writer) {
@@ -62,13 +66,6 @@ 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;
@@ -85,6 +82,7 @@ function setState() {
           if (response.likes || response.dislikes) {
             const formattedDislike = numberFormat(response.dislikes);
             setDislikes(formattedDislike);
+            storedData.dislikes = parseInt(response.dislikes);
             createRateBar(response.likes, response.dislikes);
             statsSet = true;
           }
@@ -106,6 +104,7 @@ function setState() {
       cLog(JSON.stringify(response));
       if (response != undefined && !statsSet) {
         const formattedDislike = numberFormat(response.dislikes);
+        storedData.dislikes = response.dislikes;
         // setLikes(response.likes);
         console.log(response);
         setDislikes(formattedDislike);
@@ -127,9 +126,9 @@ function dislikeClicked() {
   console.log("Dislike State:",state);
 
   if (state == 'disliked') {
-    setDislikes(getDislikes() + 1)
+    setDislikes(numberFormat(storedData.dislikes))
   } else if (state == 'neutral') {
-    setDislikes(getDislikes() + -1)
+    setDislikes(numberFormat(storedData.dislikes - 1))
   }
 
   // setState();