Explorar o código

Fix issue #174 for firefox

Front %!s(int64=3) %!d(string=hai) anos
pai
achega
f459de012d
Modificáronse 1 ficheiros con 8 adicións e 5 borrados
  1. 8 5
      Extensions/firefox/return-youtube-dislike.script.js

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

@@ -1,6 +1,7 @@
 if (!storedData) {
 if (!storedData) {
   var storedData = {
   var storedData = {
     dislikes: 0,
     dislikes: 0,
+    previousState: 'neutral'
   };
   };
 }
 }
 
 
@@ -51,12 +52,12 @@ function isVideoNotDisliked() {
 
 
 function getState() {
 function getState() {
   if (isVideoLiked()) {
   if (isVideoLiked()) {
-    return "liked";
+    return {current: "liked", previous: storedData.previousState};
   }
   }
   if (isVideoDisliked()) {
   if (isVideoDisliked()) {
-    return "disliked";
+    return {current: "disliked", previous: storedData.previousState};
   }
   }
-  return "neutral";
+  return {current: "neutral", previous: storedData.previousState};
 }
 }
 
 
 //---   Sets The Likes And Dislikes Values   ---//
 //---   Sets The Likes And Dislikes Values   ---//
@@ -97,7 +98,7 @@ function setState() {
     {
     {
       message: "set_state",
       message: "set_state",
       videoId: getVideoId(window.location.href),
       videoId: getVideoId(window.location.href),
-      state: getState(),
+      state: getState().current,
     },
     },
     function (response) {
     function (response) {
       cLog("response from api:");
       cLog("response from api:");
@@ -118,13 +119,15 @@ function setState() {
 function likeClicked() {}
 function likeClicked() {}
 
 
 function dislikeClicked() {
 function dislikeClicked() {
-  let state = getState();
+  let state = getState().current;
   if (state == "disliked") {
   if (state == "disliked") {
     storedData.dislikes++;
     storedData.dislikes++;
     setDislikes(numberFormat(storedData.dislikes));
     setDislikes(numberFormat(storedData.dislikes));
+    storedData.previousState = 'disliked';
   } else if (state == "neutral") {
   } else if (state == "neutral") {
     storedData.dislikes--;
     storedData.dislikes--;
     setDislikes(numberFormat(storedData.dislikes));
     setDislikes(numberFormat(storedData.dislikes));
+    storedData.previousState = 'neutral';
   }
   }
 
 
   // setState();
   // setState();