ryd.content-script.js 1.4 KB

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