Update content.js

This commit is contained in:
Official Noob
2019-08-21 18:17:30 +01:00
committed by GitHub
parent 825d997d6d
commit 84d5d3124c

View File

@@ -92,7 +92,7 @@ function messageListener(request, sender, sendResponse) {
//messages from popup script //messages from popup script
if (request.message == "update") { if (request.message == "update") {
videoIDChange(getYouTubeVideoID(document.URL)); videoIDChange(getYouTubeVideoID(document.URL));
} }
if (request.message == "sponsorStart") { if (request.message == "sponsorStart") {
@@ -218,11 +218,12 @@ function resetValues() {
function videoIDChange(id) { function videoIDChange(id) {
// ID has not changed return // ID has not changed return
if (sponsorVideoID === id) return if (sponsorVideoID === id) return
// Global ID
sponsorVideoID = id;
resetValues(); resetValues();
// ID is not valid // ID is not valid
if (id === false) return; if (id === false) return;
if (previewBar == null) { if (previewBar == null) {
//create it //create it
let progressBar = document.getElementsByClassName("ytp-progress-bar-container")[0] || document.getElementsByClassName("no-model cue-range-markers")[0]; let progressBar = document.getElementsByClassName("ytp-progress-bar-container")[0] || document.getElementsByClassName("no-model cue-range-markers")[0];
@@ -269,26 +270,28 @@ function videoIDChange(id) {
sponsorTimesSubmitting = []; sponsorTimesSubmitting = [];
//see if the onvideo control image needs to be changed //see if the onvideo control image needs to be changed
chrome.runtime.sendMessage({ wait(getControls).then(result => {
message: "getSponsorTimes", chrome.runtime.sendMessage({
videoID: id message: "getSponsorTimes",
}, function(response) { videoID: id
if (response != undefined) { }, function(response) {
let sponsorTimes = response.sponsorTimes; if (response != undefined) {
if (sponsorTimes != null && sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length >= 2) { let sponsorTimes = response.sponsorTimes;
changeStartSponsorButton(true, true); if (sponsorTimes != null && sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length >= 2) {
} else if (sponsorTimes != null && sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length < 2) { changeStartSponsorButton(true, true);
} else if (sponsorTimes != null && sponsorTimes.length > 0 && sponsorTimes[sponsorTimes.length - 1].length < 2) {
changeStartSponsorButton(false, true); changeStartSponsorButton(false, true);
} else { } else {
changeStartSponsorButton(true, false); changeStartSponsorButton(true, false);
} }
//see if this data should be saved in the sponsorTimesSubmitting variable
if (sponsorTimes != undefined && sponsorTimes.length > 0) {
sponsorTimesSubmitting = sponsorTimes;
}
}
});
});
//see if this data should be saved in the sponsorTimesSubmitting variable
if (sponsorTimes != undefined && sponsorTimes.length > 0) {
sponsorTimesSubmitting = sponsorTimes;
}
}
});
//see if video controls buttons should be added //see if video controls buttons should be added
chrome.storage.sync.get(["hideVideoPlayerControls"], function(result) { chrome.storage.sync.get(["hideVideoPlayerControls"], function(result) {
@@ -535,15 +538,20 @@ function removePlayerControlsButton() {
function createButton(baseid, title, callback, imageName) { function createButton(baseid, title, callback, imageName) {
if (document.getElementById(baseid) != null) return; if (document.getElementById(baseid) != null) return;
// Button HTML
let newButton = document.createElement("button"); let newButton = document.createElement("button");
newButton.id = baseid; newButton.id = baseid+"Button";
newButton.className = "ytp-button playerButton"; newButton.className = "ytp-button playerButton";
newButton.setAttribute("title", chrome.i18n.getMessage(baseid)); newButton.setAttribute("title", chrome.i18n.getMessage(baseid));
newButton.addEventListener("click", callback); newButton.addEventListener("click", callback);
// Image HTML
let newButtonImage = document.createElement("img"); let newButtonImage = document.createElement("img");
newButtonImage.id = baseid+"Image"; newButtonImage.id = baseid+"Image";
newButtonImage.className = "playerButtonImage"; newButtonImage.className = "playerButtonImage";
newButtonImage.src = chrome.extension.getURL("icons/"+imageName); newButtonImage.src = chrome.extension.getURL("icons/"+imageName);
// Append image to button
newButton.appendChild(newButtonImage);
// Add the button to player
controls.prepend(newButton); controls.prepend(newButton);
} }
@@ -559,9 +567,9 @@ function addButtons() {
// Add button if does not already exist in html // Add button if does not already exist in html
createButton("startSponsor", "sponsorStart", startSponsorClicked, "PlayerStartIconSponsorBlocker256px.png"); createButton("startSponsor", "sponsorStart", startSponsorClicked, "PlayerStartIconSponsorBlocker256px.png");
createButton("infoButton", "openPopup", openInfoMenu, "PlayerInfoIconSponsorBlocker256px.png") createButton("info", "openPopup", openInfoMenu, "PlayerInfoIconSponsorBlocker256px.png")
createButton("deleteButton", "clearTimes", clearSponsorTimes, "PlayerDeleteIconSponsorBlocker256px.png"); createButton("delete", "clearTimes", clearSponsorTimes, "PlayerDeleteIconSponsorBlocker256px.png");
createButton("submitButton", "SubmitTimes", submitSponsorTimes, "PlayerUploadIconSponsorBlocker256px.png"); createButton("submit", "SubmitTimes", submitSponsorTimes, "PlayerUploadIconSponsorBlocker256px.png");
}); });
} }
//adds or removes the player controls button to what it should be //adds or removes the player controls button to what it should be
@@ -613,19 +621,19 @@ function updateSponsorTimesSubmitting() {
}); });
} }
isSubmitLoaded = () => (document.getElementById("startSponsorImage") !== undefined);
function changeStartSponsorButton(showStartSponsor, uploadButtonVisible) { function changeStartSponsorButton(showStartSponsor, uploadButtonVisible) {
//if it isn't visible, there is no data
if(!sponsorVideoID) return false; if(!sponsorVideoID) return false;
if (uploadButtonVisible && !hideDeleteButtonPlayerControls) { wait(isSubmitLoaded).then(result => {
document.getElementById("deleteButton").style.display = "unset"; //if it isn't visible, there is no data
} else { let shouldHide = (uploadButtonVisible && !hideDeleteButtonPlayerControls) ? "unset":"none"
document.getElementById("deleteButton").style.display = "none"; document.getElementById("deleteButton").style.display = shouldHide;
}
if (showStartSponsor) { if (showStartSponsor) {
showingStartSponsor = true; showingStartSponsor = true;
document.getElementById("startSponsorImage").src = chrome.extension.getURL("icons/PlayerStartIconSponsorBlocker256px.png"); document.getElementById("startSponsorImage").src = chrome.extension.getURL("icons/PlayerStartIconSponsorBlocker256px.png");
document.getElementById("changeStartSponsor").setAttribute("title", chrome.i18n.getMessage("sponsorStart")); document.getElementById("startSponsorButton").setAttribute("title", chrome.i18n.getMessage("sponsorStart"));
if (document.getElementById("startSponsorImage").style.display != "none" && uploadButtonVisible && !hideInfoButtonPlayerControls) { if (document.getElementById("startSponsorImage").style.display != "none" && uploadButtonVisible && !hideInfoButtonPlayerControls) {
document.getElementById("submitButton").style.display = "unset"; document.getElementById("submitButton").style.display = "unset";
@@ -636,11 +644,12 @@ function changeStartSponsorButton(showStartSponsor, uploadButtonVisible) {
} else { } else {
showingStartSponsor = false; showingStartSponsor = false;
document.getElementById("startSponsorImage").src = chrome.extension.getURL("icons/PlayerStopIconSponsorBlocker256px.png"); document.getElementById("startSponsorImage").src = chrome.extension.getURL("icons/PlayerStopIconSponsorBlocker256px.png");
document.getElementById("changeStartSponsor").setAttribute("title", chrome.i18n.getMessage("sponsorEND")); document.getElementById("startSponsorButton").setAttribute("title", chrome.i18n.getMessage("sponsorEND"));
//disable submit button //disable submit button
document.getElementById("submitButton").style.display = "none"; document.getElementById("submitButton").style.display = "none";
} }
});
} }
function toggleStartSponsorButton() { function toggleStartSponsorButton() {