Made buttons update with the config.

This commit is contained in:
Ajay Ramachandran
2020-01-09 20:29:20 -05:00
parent 9e89eb521a
commit d902cc5efe
3 changed files with 33 additions and 50 deletions

2
SB.js
View File

@@ -4,7 +4,7 @@ SB = {
* *
* @type {CallableFunction} * @type {CallableFunction}
*/ */
configListeners = [] configListeners: []
}; };
// Function setup // Function setup

View File

@@ -135,39 +135,33 @@ function messageListener(request, sender, sendResponse) {
channelWhitelisted = request.value; channelWhitelisted = request.value;
sponsorsLookup(sponsorVideoID); sponsorsLookup(sponsorVideoID);
break;
case "dontShowNotice":
SB.config.dontShowNotice = true;
break; break;
case "changeStartSponsorButton": case "changeStartSponsorButton":
changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible); changeStartSponsorButton(request.showStartSponsor, request.uploadButtonVisible);
break; break;
}
case "showNoticeAgain": }
SB.config.dontShowNotice = true;
break;
case "changeVideoPlayerControlsVisibility":
SB.config.hideVideoPlayerControls = request.value;
updateVisibilityOfPlayerControlsButton();
break; /**
case "changeInfoButtonPlayerControlsVisibility": * Called when the config is updated
SB.config.hideInfoButtonPlayerControls = request.value; *
updateVisibilityOfPlayerControlsButton(); * @param {String} changes
*/
break; function configUpdateListener(changes) {
case "changeDeleteButtonPlayerControlsVisibility": for (const key in changes) {
SB.config.hideDeleteButtonPlayerControls = request.value; switch(key) {
updateVisibilityOfPlayerControlsButton(); case "hideVideoPlayerControls":
case "hideInfoButtonPlayerControls":
break; case "hideDeleteButtonPlayerControls":
case "trackViewCount": updateVisibilityOfPlayerControlsButton()
SB.config.trackViewCount = request.value;
break; break;
} }
}
}
if (!SB.configListeners.includes(configUpdateListener)) {
SB.configListeners.push(configUpdateListener);
} }
//check for hotkey pressed //check for hotkey pressed
@@ -452,13 +446,11 @@ function getChannelID() {
//checks if this channel is whitelisted, should be done only after the channelID has been loaded //checks if this channel is whitelisted, should be done only after the channelID has been loaded
function whitelistCheck() { function whitelistCheck() {
//see if this is a whitelisted channel //see if this is a whitelisted channel
let whitelistedChannels = SB.config.whitelistedChannels; let whitelistedChannels = SB.config.whitelistedChannels;
console.log(channelURL) if (whitelistedChannels != undefined && whitelistedChannels.includes(channelURL)) {
channelWhitelisted = true;
if (whitelistedChannels != undefined && whitelistedChannels.includes(channelURL)) { }
channelWhitelisted = true;
}
} }
//video skipping //video skipping
@@ -576,13 +568,6 @@ function reskipSponsorTime(UUID) {
} }
} }
function removePlayerControlsButton() {
if (!sponsorVideoID) return;
document.getElementById("startSponsorButton").style.display = "none";
document.getElementById("submitButton").style.display = "none";
}
function createButton(baseID, title, callback, imageName, isDraggable=false) { function createButton(baseID, title, callback, imageName, isDraggable=false) {
if (document.getElementById(baseID + "Button") != null) return; if (document.getElementById(baseID + "Button") != null) return;
@@ -633,13 +618,20 @@ async function updateVisibilityOfPlayerControlsButton() {
await createButtons(); await createButtons();
if (SB.config.hideDeleteButtonPlayerControls) { if (SB.config.hideVideoPlayerControls) {
removePlayerControlsButton(); document.getElementById("startSponsorButton").style.display = "none";
document.getElementById("submitButton").style.display = "none";
} else {
document.getElementById("startSponsorButton").style.removeProperty("display");
} }
//don't show the info button on embeds //don't show the info button on embeds
if (SB.config.hideInfoButtonPlayerControls || document.URL.includes("/embed/")) { if (SB.config.hideInfoButtonPlayerControls || document.URL.includes("/embed/")) {
document.getElementById("infoButton").style.display = "none"; document.getElementById("infoButton").style.display = "none";
} else {
document.getElementById("infoButton").style.removeProperty("display");
} }
if (SB.config.hideDeleteButtonPlayerControls) { if (SB.config.hideDeleteButtonPlayerControls) {
document.getElementById("deleteButton").style.display = "none"; document.getElementById("deleteButton").style.display = "none";
} }

View File

@@ -800,15 +800,6 @@ async function runThePopup() {
function showNoticeAgain() { function showNoticeAgain() {
SB.config.dontShowNotice = false; SB.config.dontShowNotice = false;
chrome.tabs.query({
active: true,
currentWindow: true
}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {
message: "showNoticeAgain"
});
});
SB.showNoticeAgain.style.display = "none"; SB.showNoticeAgain.style.display = "none";
} }