Files
return-youtube-dislike/Extensions/combined/ryd.content-script.js
T
2021-12-19 03:12:11 +03:00

62 lines
1.6 KiB
JavaScript

import {
getButtons,
getLikeButton,
getDislikeButton,
checkForSignInButton,
} from "./src/buttons";
import {
isMobile,
isVideoDisliked,
isVideoLiked,
getState,
setState,
setInitialState,
setLikes,
setDislikes,
getLikeCountFromButton,
LIKED_STATE,
DISLIKED_STATE,
NEUTRAL_STATE,
} 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,
dislikes: 0,
previousState: NEUTRAL_STATE,
};
let jsInitChecktimer = null;
function setEventListeners(evt) {
function checkForJS_Finish() {
if (getButtons()?.offsetParent && isVideoLoaded()) {
clearInterval(jsInitChecktimer);
jsInitChecktimer = null;
const buttons = getButtons();
if (!window.returnDislikeButtonlistenersSet) {
buttons.children[0].addEventListener("click", () => likeClicked(storedData));
buttons.children[1].addEventListener("click", () => dislikeClicked(storedData));
window.returnDislikeButtonlistenersSet = true;
}
setInitialState(storedData);
}
}
if (window.location.href.indexOf("watch?") >= 0) {
jsInitChecktimer = setInterval(checkForJS_Finish, 111);
}
}
setEventListeners();
document.addEventListener("yt-navigate-finish", function (event) {
if (jsInitChecktimer !== null) clearInterval(jsInitChecktimer);
window.returnDislikeButtonlistenersSet = false;
setEventListeners();
});
setTimeout(() => sendVideoIds(), 2500);