ryd.content-script.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. isShorts,
  12. isVideoDisliked,
  13. isVideoLiked,
  14. getState,
  15. setState,
  16. setInitialState,
  17. setLikes,
  18. setDislikes,
  19. getLikeCountFromButton,
  20. LIKED_STATE,
  21. DISLIKED_STATE,
  22. NEUTRAL_STATE,
  23. initExtConfig,
  24. } from "./src/state";
  25. //--- Import Video & Browser Functions ---//
  26. import {
  27. numberFormat,
  28. getBrowser,
  29. getVideoId,
  30. isVideoLoaded,
  31. cLog,
  32. } from "./src/utils";
  33. import { createRateBar } from "./src/bar";
  34. import {
  35. sendVote,
  36. likeClicked,
  37. dislikeClicked,
  38. addLikeDislikeEventListener,
  39. storageChangeHandler,
  40. } from "./src/events";
  41. initExtConfig();
  42. let jsInitChecktimer = null;
  43. let isSetInitialStateDone = false;
  44. function setEventListeners(evt) {
  45. function checkForJS_Finish() {
  46. try {
  47. if (isShorts() || (getButtons()?.offsetParent && isVideoLoaded())) {
  48. addLikeDislikeEventListener();
  49. setInitialState();
  50. isSetInitialStateDone = true;
  51. getBrowser().storage.onChanged.addListener(storageChangeHandler);
  52. clearInterval(jsInitChecktimer);
  53. jsInitChecktimer = null;
  54. }
  55. } catch(exception) {
  56. if(!isSetInitialStateDone) {
  57. setInitialState();
  58. }
  59. }
  60. }
  61. jsInitChecktimer = setInterval(checkForJS_Finish, 111);
  62. }
  63. setEventListeners();
  64. document.addEventListener("yt-navigate-finish", function (event) {
  65. if (jsInitChecktimer !== null) clearInterval(jsInitChecktimer);
  66. window.returnDislikeButtonlistenersSet = false;
  67. setEventListeners();
  68. });