Selaa lähdekoodia

update rating bar on user input

cupiditys 3 vuotta sitten
vanhempi
sitoutus
beb0476bcf
1 muutettua tiedostoa jossa 26 lisäystä ja 6 poistoa
  1. 26 6
      Extensions/firefox/return-youtube-dislike.script.js

+ 26 - 6
Extensions/firefox/return-youtube-dislike.script.js

@@ -4,6 +4,7 @@ const NEUTRAL_STATE = "NEUTRAL_STATE";
 
 if (!storedData) {
   var storedData = {
+    likes: 0,
     dislikes: 0,
     previousState: NEUTRAL_STATE
   };
@@ -84,10 +85,11 @@ function setState() {
         cLog("response from youtube:");
         cLog(JSON.stringify(response));
         try {
-          if (response.likes && response.dislikes) {
+          if (response.viewCount) {
             const formattedDislike = numberFormat(response.dislikes);
             setDislikes(formattedDislike);
             storedData.dislikes = parseInt(response.dislikes);
+            storedData.likes = parseInt(response.likes)
             createRateBar(response.likes, response.dislikes);
             statsSet = true;
           }
@@ -121,23 +123,41 @@ function setState() {
 }
 
 function likeClicked() {
-  if (storedData.previousState === 'disliked') {
+  console.log(storedData.previousState)
+  if (storedData.previousState == DISLIKED_STATE) {
     storedData.dislikes--;
+    storedData.likes++;
+    createRateBar(storedData.likes, storedData.dislikes);
     setDislikes(numberFormat(storedData.dislikes));
-    storedData.previousState = 'liked';
+    storedData.previousState = LIKED_STATE;
+  } else if (storedData.previousState == NEUTRAL_STATE) {
+    storedData.likes++;
+    createRateBar(storedData.likes, storedData.dislikes);
+    storedData.previousState = LIKED_STATE;
+  } else if (storedData.previousState = LIKED_STATE) {
+    storedData.likes--;
+    createRateBar(storedData.likes, storedData.dislikes)
+    storedData.previousState = NEUTRAL_STATE;
   }
 }
 
 function dislikeClicked() {
-  let state = getState().current;
-  if (state == DISLIKED_STATE) {
+  if (storedData.previousState == NEUTRAL_STATE) {
     storedData.dislikes++;
     setDislikes(numberFormat(storedData.dislikes));
+    createRateBar(storedData.likes, storedData.dislikes);
     storedData.previousState = DISLIKED_STATE;
-  } else if (state == NEUTRAL_STATE) {
+  } else if (storedData.previousState == DISLIKED_STATE) {
     storedData.dislikes--;
     setDislikes(numberFormat(storedData.dislikes));
+    createRateBar(storedData.likes, storedData.dislikes);
     storedData.previousState = NEUTRAL_STATE;
+  } else if (storedData.previousState == LIKED_STATE) {
+    storedData.likes--;
+    storedData.dislikes++;
+    setDislikes(numberFormat(storedData.dislikes));
+    createRateBar(storedData.likes, storedData.dislikes);
+    storedData.previousState = DISLIKED_STATE;
   }
 
   // setState();