ryd.content-script.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //--- Import Button Functions ---//
  2. import {
  3. getButtons,
  4. getLikeButton,
  5. getDislikeButton,
  6. checkForSignInButton,
  7. } from "./src/buttons";
  8. //--- Import State Functions ---//
  9. import {
  10. isMobile,
  11. isVideoDisliked,
  12. isVideoLiked,
  13. getState,
  14. setState,
  15. setInitialState,
  16. setLikes,
  17. setDislikes,
  18. getLikeCountFromButton,
  19. LIKED_STATE,
  20. DISLIKED_STATE,
  21. NEUTRAL_STATE,
  22. initExtConfig,
  23. } from "./src/state";
  24. //--- Import Video & Browser Functions ---//
  25. import { numberFormat, getBrowser, getVideoId, isVideoLoaded, cLog } from "./src/utils";
  26. import { createRateBar } from "./src/bar";
  27. import { sendVideoIds, sendVote, likeClicked, dislikeClicked, addLikeDislikeEventListener, storageChangeHandler } from "./src/events"
  28. initExtConfig()
  29. let jsInitChecktimer = null;
  30. function setEventListeners(evt) {
  31. function checkForJS_Finish() {
  32. if (getButtons()?.offsetParent && isVideoLoaded()) {
  33. clearInterval(jsInitChecktimer);
  34. jsInitChecktimer = null;
  35. addLikeDislikeEventListener();
  36. setInitialState();
  37. getBrowser().storage.onChanged.addListener(storageChangeHandler);
  38. }
  39. }
  40. if (window.location.href.indexOf("watch?") >= 0) {
  41. jsInitChecktimer = setInterval(checkForJS_Finish, 111);
  42. }
  43. }
  44. setEventListeners();
  45. document.addEventListener("yt-navigate-finish", function (event) {
  46. if (jsInitChecktimer !== null) clearInterval(jsInitChecktimer);
  47. window.returnDislikeButtonlistenersSet = false;
  48. setEventListeners();
  49. });
  50. setTimeout(() => sendVideoIds(), 2500);