Bläddra i källkod

move sendVote, sendVideoIds, likeClicked, dislikeClicked to events.js

Leon Bubova 3 år sedan
förälder
incheckning
ed9a950d12
2 ändrade filer med 91 tillägg och 84 borttagningar
  1. 3 84
      Extensions/combined/ryd.content-script.js
  2. 88 0
      Extensions/combined/src/events.js

+ 3 - 84
Extensions/combined/ryd.content-script.js

@@ -19,6 +19,7 @@ import {
 } from "./src/state";
 import { numberFormat, getBrowser, getVideoId, isVideoLoaded, cLog } from "./src/utils";
 import { createRateBar } from "./src/bar";
+import { sendVideoIds, sendVote, likeClicked, dislikeClicked } from "./src/events"
 
 let storedData = {
   likes: 0,
@@ -26,62 +27,6 @@ let storedData = {
   previousState: NEUTRAL_STATE,
 };
 
-function sendVote(vote) {
-  getBrowser().runtime.sendMessage({
-    message: "send_vote",
-    vote: vote,
-    videoId: getVideoId(window.location.href),
-  });
-}
-
-function likeClicked() {
-  if (checkForSignInButton() === false) {
-    if (storedData.previousState === DISLIKED_STATE) {
-      sendVote(1);
-      storedData.dislikes--;
-      storedData.likes++;
-      createRateBar(storedData.likes, storedData.dislikes);
-      setDislikes(numberFormat(storedData.dislikes));
-      storedData.previousState = LIKED_STATE;
-    } else if (storedData.previousState === NEUTRAL_STATE) {
-      sendVote(1);
-      storedData.likes++;
-      createRateBar(storedData.likes, storedData.dislikes);
-      storedData.previousState = LIKED_STATE;
-    } else if ((storedData.previousState = LIKED_STATE)) {
-      sendVote(0);
-      storedData.likes--;
-      createRateBar(storedData.likes, storedData.dislikes);
-      storedData.previousState = NEUTRAL_STATE;
-    }
-  }
-}
-
-function dislikeClicked() {
-  if (checkForSignInButton() == false) {
-    if (storedData.previousState === NEUTRAL_STATE) {
-      sendVote(-1);
-      storedData.dislikes++;
-      setDislikes(numberFormat(storedData.dislikes));
-      createRateBar(storedData.likes, storedData.dislikes);
-      storedData.previousState = DISLIKED_STATE;
-    } else if (storedData.previousState === DISLIKED_STATE) {
-      sendVote(0);
-      storedData.dislikes--;
-      setDislikes(numberFormat(storedData.dislikes));
-      createRateBar(storedData.likes, storedData.dislikes);
-      storedData.previousState = NEUTRAL_STATE;
-    } else if (storedData.previousState === LIKED_STATE) {
-      sendVote(-1);
-      storedData.likes--;
-      storedData.dislikes++;
-      setDislikes(numberFormat(storedData.dislikes));
-      createRateBar(storedData.likes, storedData.dislikes);
-      storedData.previousState = DISLIKED_STATE;
-    }
-  }
-}
-
 function setInitialState() {
   setState(storedData);
   setTimeout(() => {
@@ -98,8 +43,8 @@ function setEventListeners(evt) {
       jsInitChecktimer = null;
       const buttons = getButtons();
       if (!window.returnDislikeButtonlistenersSet) {
-        buttons.children[0].addEventListener("click", likeClicked);
-        buttons.children[1].addEventListener("click", dislikeClicked);
+        buttons.children[0].addEventListener("click", () => likeClicked(storedData));
+        buttons.children[1].addEventListener("click", () => dislikeClicked(storedData));
         window.returnDislikeButtonlistenersSet = true;
       }
       setInitialState();
@@ -111,32 +56,6 @@ function setEventListeners(evt) {
   }
 }
 
-function sendVideoIds() {
-  let links = Array.from(
-    document.getElementsByClassName(
-      "yt-simple-endpoint ytd-compact-video-renderer"
-    )
-  ).concat(
-    Array.from(
-      document.getElementsByClassName("yt-simple-endpoint ytd-thumbnail")
-    )
-  );
-  // Also try mobile
-  if (links.length < 1)
-    links = Array.from(
-      document.querySelectorAll(
-        ".large-media-item-metadata > a, a.large-media-item-thumbnail-container"
-      )
-    );
-  const ids = links
-    .filter((x) => x.href && x.href.indexOf("/watch?v=") > 0)
-    .map((x) => getVideoId(x.href));
-  getBrowser().runtime.sendMessage({
-    message: "send_links",
-    videoIds: ids,
-  });
-}
-
 setEventListeners();
 
 document.addEventListener("yt-navigate-finish", function (event) {

+ 88 - 0
Extensions/combined/src/events.js

@@ -0,0 +1,88 @@
+import { getBrowser, getVideoId, numberFormat } from "./utils"
+import { checkForSignInButton } from "./buttons"
+import { NEUTRAL_STATE, LIKED_STATE, DISLIKED_STATE, setDislikes } from "./state"
+import { createRateBar } from "./bar"
+
+function sendVote(vote) {
+  getBrowser().runtime.sendMessage({
+    message: "send_vote",
+    vote: vote,
+    videoId: getVideoId(window.location.href),
+  });
+}
+
+function sendVideoIds() {
+  let links = Array.from(
+    document.getElementsByClassName(
+      "yt-simple-endpoint ytd-compact-video-renderer"
+    )
+  ).concat(
+    Array.from(
+      document.getElementsByClassName("yt-simple-endpoint ytd-thumbnail")
+    )
+  );
+  // Also try mobile
+  if (links.length < 1)
+    links = Array.from(
+      document.querySelectorAll(
+        ".large-media-item-metadata > a, a.large-media-item-thumbnail-container"
+      )
+    );
+  const ids = links
+    .filter((x) => x.href && x.href.indexOf("/watch?v=") > 0)
+    .map((x) => getVideoId(x.href));
+  getBrowser().runtime.sendMessage({
+    message: "send_links",
+    videoIds: ids,
+  });
+}
+
+function likeClicked(storedData) {
+  if (checkForSignInButton() === false) {
+    if (storedData.previousState === DISLIKED_STATE) {
+      sendVote(1);
+      storedData.dislikes--;
+      storedData.likes++;
+      createRateBar(storedData.likes, storedData.dislikes);
+      setDislikes(numberFormat(storedData.dislikes));
+      storedData.previousState = LIKED_STATE;
+    } else if (storedData.previousState === NEUTRAL_STATE) {
+      sendVote(1);
+      storedData.likes++;
+      createRateBar(storedData.likes, storedData.dislikes);
+      storedData.previousState = LIKED_STATE;
+    } else if ((storedData.previousState = LIKED_STATE)) {
+      sendVote(0);
+      storedData.likes--;
+      createRateBar(storedData.likes, storedData.dislikes);
+      storedData.previousState = NEUTRAL_STATE;
+    }
+  }
+}
+
+function dislikeClicked(storedData) {
+  if (checkForSignInButton() == false) {
+    if (storedData.previousState === NEUTRAL_STATE) {
+      sendVote(-1);
+      storedData.dislikes++;
+      setDislikes(numberFormat(storedData.dislikes));
+      createRateBar(storedData.likes, storedData.dislikes);
+      storedData.previousState = DISLIKED_STATE;
+    } else if (storedData.previousState === DISLIKED_STATE) {
+      sendVote(0);
+      storedData.dislikes--;
+      setDislikes(numberFormat(storedData.dislikes));
+      createRateBar(storedData.likes, storedData.dislikes);
+      storedData.previousState = NEUTRAL_STATE;
+    } else if (storedData.previousState === LIKED_STATE) {
+      sendVote(-1);
+      storedData.likes--;
+      storedData.dislikes++;
+      setDislikes(numberFormat(storedData.dislikes));
+      createRateBar(storedData.likes, storedData.dislikes);
+      storedData.previousState = DISLIKED_STATE;
+    }
+  }
+}
+
+export { sendVote, sendVideoIds, likeClicked, dislikeClicked }