mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2024-09-20 04:53:43 +02:00
Made the notice id suffix not just the sponsor UUID.
This commit is contained in:
parent
19802a7a31
commit
cc2d1405b6
1 changed files with 34 additions and 31 deletions
|
@ -18,6 +18,9 @@ class SkipNotice {
|
||||||
//add notice
|
//add notice
|
||||||
let amountOfPreviousNotices = document.getElementsByClassName("sponsorSkipNotice").length;
|
let amountOfPreviousNotices = document.getElementsByClassName("sponsorSkipNotice").length;
|
||||||
|
|
||||||
|
//this is the suffix added at the end of every id
|
||||||
|
this.idSuffix = this.UUID + amountOfPreviousNotices;
|
||||||
|
|
||||||
if (amountOfPreviousNotices > 0) {
|
if (amountOfPreviousNotices > 0) {
|
||||||
//already exists
|
//already exists
|
||||||
|
|
||||||
|
@ -27,7 +30,7 @@ class SkipNotice {
|
||||||
|
|
||||||
let noticeElement = document.createElement("div");
|
let noticeElement = document.createElement("div");
|
||||||
//what sponsor time this is about
|
//what sponsor time this is about
|
||||||
noticeElement.id = "sponsorSkipNotice" + this.UUID;
|
noticeElement.id = "sponsorSkipNotice" + this.idSuffix;
|
||||||
noticeElement.classList.add("sponsorSkipObject");
|
noticeElement.classList.add("sponsorSkipObject");
|
||||||
noticeElement.classList.add("sponsorSkipNotice");
|
noticeElement.classList.add("sponsorSkipNotice");
|
||||||
noticeElement.style.zIndex = 50 + amountOfPreviousNotices;
|
noticeElement.style.zIndex = 50 + amountOfPreviousNotices;
|
||||||
|
@ -38,17 +41,17 @@ class SkipNotice {
|
||||||
|
|
||||||
//the row that will contain the info
|
//the row that will contain the info
|
||||||
let firstRow = document.createElement("tr");
|
let firstRow = document.createElement("tr");
|
||||||
firstRow.id = "sponsorSkipNoticeFirstRow" + this.UUID;
|
firstRow.id = "sponsorSkipNoticeFirstRow" + this.idSuffix;
|
||||||
|
|
||||||
let logoColumn = document.createElement("td");
|
let logoColumn = document.createElement("td");
|
||||||
|
|
||||||
let logoElement = document.createElement("img");
|
let logoElement = document.createElement("img");
|
||||||
logoElement.id = "sponsorSkipLogo" + this.UUID;
|
logoElement.id = "sponsorSkipLogo" + this.idSuffix;
|
||||||
logoElement.className = "sponsorSkipLogo sponsorSkipObject";
|
logoElement.className = "sponsorSkipLogo sponsorSkipObject";
|
||||||
logoElement.src = chrome.extension.getURL("icons/IconSponsorBlocker256px.png");
|
logoElement.src = chrome.extension.getURL("icons/IconSponsorBlocker256px.png");
|
||||||
|
|
||||||
let noticeMessage = document.createElement("span");
|
let noticeMessage = document.createElement("span");
|
||||||
noticeMessage.id = "sponsorSkipMessage" + this.UUID;
|
noticeMessage.id = "sponsorSkipMessage" + this.idSuffix;
|
||||||
noticeMessage.classList.add("sponsorSkipMessage");
|
noticeMessage.classList.add("sponsorSkipMessage");
|
||||||
noticeMessage.classList.add("sponsorSkipObject");
|
noticeMessage.classList.add("sponsorSkipObject");
|
||||||
noticeMessage.innerText = chrome.i18n.getMessage("noticeTitle");
|
noticeMessage.innerText = chrome.i18n.getMessage("noticeTitle");
|
||||||
|
@ -63,7 +66,7 @@ class SkipNotice {
|
||||||
closeButtonContainer.style.top = "11px";
|
closeButtonContainer.style.top = "11px";
|
||||||
|
|
||||||
let timeLeft = document.createElement("span");
|
let timeLeft = document.createElement("span");
|
||||||
timeLeft.id = "sponsorSkipNoticeTimeLeft" + this.UUID;
|
timeLeft.id = "sponsorSkipNoticeTimeLeft" + this.idSuffix;
|
||||||
timeLeft.innerText = this.countdownTime + "s";
|
timeLeft.innerText = this.countdownTime + "s";
|
||||||
timeLeft.className = "sponsorSkipObject sponsorSkipNoticeTimeLeft";
|
timeLeft.className = "sponsorSkipObject sponsorSkipNoticeTimeLeft";
|
||||||
|
|
||||||
|
@ -80,27 +83,27 @@ class SkipNotice {
|
||||||
firstRow.appendChild(closeButtonContainer);
|
firstRow.appendChild(closeButtonContainer);
|
||||||
|
|
||||||
let spacer = document.createElement("hr");
|
let spacer = document.createElement("hr");
|
||||||
spacer.id = "sponsorSkipNoticeSpacer" + this.UUID;
|
spacer.id = "sponsorSkipNoticeSpacer" + this.idSuffix;
|
||||||
spacer.className = "sponsorBlockSpacer";
|
spacer.className = "sponsorBlockSpacer";
|
||||||
|
|
||||||
//the row that will contain the buttons
|
//the row that will contain the buttons
|
||||||
let secondRow = document.createElement("tr");
|
let secondRow = document.createElement("tr");
|
||||||
secondRow.id = "sponsorSkipNoticeSecondRow" + this.UUID;
|
secondRow.id = "sponsorSkipNoticeSecondRow" + this.idSuffix;
|
||||||
|
|
||||||
//thumbs up and down buttons
|
//thumbs up and down buttons
|
||||||
let voteButtonsContainer = document.createElement("td");
|
let voteButtonsContainer = document.createElement("td");
|
||||||
voteButtonsContainer.id = "sponsorTimesVoteButtonsContainer" + this.UUID;
|
voteButtonsContainer.id = "sponsorTimesVoteButtonsContainer" + this.idSuffix;
|
||||||
voteButtonsContainer.className = "sponsorTimesVoteButtonsContainer"
|
voteButtonsContainer.className = "sponsorTimesVoteButtonsContainer"
|
||||||
|
|
||||||
let reportText = document.createElement("span");
|
let reportText = document.createElement("span");
|
||||||
reportText.id = "sponsorTimesReportText" + this.UUID;
|
reportText.id = "sponsorTimesReportText" + this.idSuffix;
|
||||||
reportText.className = "sponsorTimesInfoMessage sponsorTimesVoteButtonMessage";
|
reportText.className = "sponsorTimesInfoMessage sponsorTimesVoteButtonMessage";
|
||||||
reportText.innerText = chrome.i18n.getMessage("reportButtonTitle");
|
reportText.innerText = chrome.i18n.getMessage("reportButtonTitle");
|
||||||
reportText.style.marginRight = "5px";
|
reportText.style.marginRight = "5px";
|
||||||
reportText.setAttribute("title", chrome.i18n.getMessage("reportButtonInfo"));
|
reportText.setAttribute("title", chrome.i18n.getMessage("reportButtonInfo"));
|
||||||
|
|
||||||
let downvoteButton = document.createElement("img");
|
let downvoteButton = document.createElement("img");
|
||||||
downvoteButton.id = "sponsorTimesDownvoteButtonsContainer" + this.UUID;
|
downvoteButton.id = "sponsorTimesDownvoteButtonsContainer" + this.idSuffix;
|
||||||
downvoteButton.className = "sponsorSkipObject voteButton";
|
downvoteButton.className = "sponsorSkipObject voteButton";
|
||||||
downvoteButton.src = chrome.extension.getURL("icons/report.png");
|
downvoteButton.src = chrome.extension.getURL("icons/report.png");
|
||||||
downvoteButton.addEventListener("click", () => vote(0, this.UUID, this));
|
downvoteButton.addEventListener("click", () => vote(0, this.UUID, this));
|
||||||
|
@ -115,7 +118,7 @@ class SkipNotice {
|
||||||
unskipContainer.className = "sponsorSkipNoticeUnskipSection";
|
unskipContainer.className = "sponsorSkipNoticeUnskipSection";
|
||||||
|
|
||||||
let unskipButton = document.createElement("button");
|
let unskipButton = document.createElement("button");
|
||||||
unskipButton.id = "sponsorSkipUnskipButton" + this.UUID;
|
unskipButton.id = "sponsorSkipUnskipButton" + this.idSuffix;
|
||||||
unskipButton.innerText = chrome.i18n.getMessage("unskip");
|
unskipButton.innerText = chrome.i18n.getMessage("unskip");
|
||||||
unskipButton.className = "sponsorSkipObject sponsorSkipNoticeButton";
|
unskipButton.className = "sponsorSkipObject sponsorSkipNoticeButton";
|
||||||
unskipButton.addEventListener("click", this.unskipCallback);
|
unskipButton.addEventListener("click", this.unskipCallback);
|
||||||
|
@ -181,7 +184,7 @@ class SkipNotice {
|
||||||
|
|
||||||
if (this.countdownTime == 3) {
|
if (this.countdownTime == 3) {
|
||||||
//start fade out animation
|
//start fade out animation
|
||||||
let notice = document.getElementById("sponsorSkipNotice" + this.UUID);
|
let notice = document.getElementById("sponsorSkipNotice" + this.idSuffix);
|
||||||
notice.style.removeProperty("animation");
|
notice.style.removeProperty("animation");
|
||||||
notice.classList.add("sponsorSkipNoticeFadeOut");
|
notice.classList.add("sponsorSkipNoticeFadeOut");
|
||||||
}
|
}
|
||||||
|
@ -198,11 +201,11 @@ class SkipNotice {
|
||||||
this.countdownTime = this.maxCountdownTime();
|
this.countdownTime = this.maxCountdownTime();
|
||||||
|
|
||||||
//inform the user
|
//inform the user
|
||||||
let timeLeft = document.getElementById("sponsorSkipNoticeTimeLeft" + this.UUID);
|
let timeLeft = document.getElementById("sponsorSkipNoticeTimeLeft" + this.idSuffix);
|
||||||
timeLeft.innerText = chrome.i18n.getMessage("paused");
|
timeLeft.innerText = chrome.i18n.getMessage("paused");
|
||||||
|
|
||||||
//remove the fade out class if it exists
|
//remove the fade out class if it exists
|
||||||
let notice = document.getElementById("sponsorSkipNotice" + this.UUID);
|
let notice = document.getElementById("sponsorSkipNotice" + this.idSuffix);
|
||||||
notice.classList.remove("sponsorSkipNoticeFadeOut");
|
notice.classList.remove("sponsorSkipNoticeFadeOut");
|
||||||
notice.style.animation = "none";
|
notice.style.animation = "none";
|
||||||
}
|
}
|
||||||
|
@ -218,7 +221,7 @@ class SkipNotice {
|
||||||
|
|
||||||
updateTimerDisplay() {
|
updateTimerDisplay() {
|
||||||
//update the timer display
|
//update the timer display
|
||||||
let timeLeft = document.getElementById("sponsorSkipNoticeTimeLeft" + this.UUID);
|
let timeLeft = document.getElementById("sponsorSkipNoticeTimeLeft" + this.idSuffix);
|
||||||
timeLeft.innerText = this.countdownTime + "s";
|
timeLeft.innerText = this.countdownTime + "s";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,7 +229,7 @@ class SkipNotice {
|
||||||
unskipSponsorTime(this.UUID);
|
unskipSponsorTime(this.UUID);
|
||||||
|
|
||||||
//change unskip button to a reskip button
|
//change unskip button to a reskip button
|
||||||
let unskipButton = document.getElementById("sponsorSkipUnskipButton" + this.UUID);
|
let unskipButton = document.getElementById("sponsorSkipUnskipButton" + this.idSuffix);
|
||||||
unskipButton.innerText = chrome.i18n.getMessage("reskip");
|
unskipButton.innerText = chrome.i18n.getMessage("reskip");
|
||||||
unskipButton.removeEventListener("click", this.unskipCallback);
|
unskipButton.removeEventListener("click", this.unskipCallback);
|
||||||
|
|
||||||
|
@ -250,7 +253,7 @@ class SkipNotice {
|
||||||
reskipSponsorTime(this.UUID);
|
reskipSponsorTime(this.UUID);
|
||||||
|
|
||||||
//change unskip button to a reskip button
|
//change unskip button to a reskip button
|
||||||
let unskipButton = document.getElementById("sponsorSkipUnskipButton" + this.UUID);
|
let unskipButton = document.getElementById("sponsorSkipUnskipButton" + this.idSuffix);
|
||||||
unskipButton.innerText = chrome.i18n.getMessage("unskip");
|
unskipButton.innerText = chrome.i18n.getMessage("unskip");
|
||||||
unskipButton.removeEventListener("click", this.unskipCallback);
|
unskipButton.removeEventListener("click", this.unskipCallback);
|
||||||
|
|
||||||
|
@ -292,27 +295,27 @@ class SkipNotice {
|
||||||
}
|
}
|
||||||
|
|
||||||
addNoticeInfoMessage(message) {
|
addNoticeInfoMessage(message) {
|
||||||
let previousInfoMessage = document.getElementById("sponsorTimesInfoMessage" + this.UUID);
|
let previousInfoMessage = document.getElementById("sponsorTimesInfoMessage" + this.idSuffix);
|
||||||
if (previousInfoMessage != null) {
|
if (previousInfoMessage != null) {
|
||||||
//remove it
|
//remove it
|
||||||
document.getElementById("sponsorSkipNotice" + this.UUID).removeChild(previousInfoMessage);
|
document.getElementById("sponsorSkipNotice" + this.idSuffix).removeChild(previousInfoMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
//add info
|
//add info
|
||||||
let thanksForVotingText = document.createElement("p");
|
let thanksForVotingText = document.createElement("p");
|
||||||
thanksForVotingText.id = "sponsorTimesInfoMessage" + this.UUID;
|
thanksForVotingText.id = "sponsorTimesInfoMessage" + this.idSuffix;
|
||||||
thanksForVotingText.className = "sponsorTimesInfoMessage";
|
thanksForVotingText.className = "sponsorTimesInfoMessage";
|
||||||
thanksForVotingText.innerText = message;
|
thanksForVotingText.innerText = message;
|
||||||
|
|
||||||
//add element to div
|
//add element to div
|
||||||
document.getElementById("sponsorSkipNotice" + this.UUID).insertBefore(thanksForVotingText, document.getElementById("sponsorSkipNoticeSpacer" + this.UUID));
|
document.getElementById("sponsorSkipNotice" + this.idSuffix).insertBefore(thanksForVotingText, document.getElementById("sponsorSkipNoticeSpacer" + this.idSuffix));
|
||||||
}
|
}
|
||||||
|
|
||||||
resetNoticeInfoMessage() {
|
resetNoticeInfoMessage() {
|
||||||
let previousInfoMessage = document.getElementById("sponsorTimesInfoMessage" + this.UUID);
|
let previousInfoMessage = document.getElementById("sponsorTimesInfoMessage" + this.idSuffix);
|
||||||
if (previousInfoMessage != null) {
|
if (previousInfoMessage != null) {
|
||||||
//remove it
|
//remove it
|
||||||
document.getElementById("sponsorSkipNotice" + this.UUID).removeChild(previousInfoMessage);
|
document.getElementById("sponsorSkipNotice" + this.idSuffix).removeChild(previousInfoMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,39 +323,39 @@ class SkipNotice {
|
||||||
this.resetVoteButtonInfo();
|
this.resetVoteButtonInfo();
|
||||||
|
|
||||||
//hide report button and text for it
|
//hide report button and text for it
|
||||||
let downvoteButton = document.getElementById("sponsorTimesDownvoteButtonsContainer" + this.UUID);
|
let downvoteButton = document.getElementById("sponsorTimesDownvoteButtonsContainer" + this.idSuffix);
|
||||||
if (downvoteButton != null) {
|
if (downvoteButton != null) {
|
||||||
downvoteButton.style.display = "none";
|
downvoteButton.style.display = "none";
|
||||||
}
|
}
|
||||||
let downvoteButtonText = document.getElementById("sponsorTimesReportText" + this.UUID);
|
let downvoteButtonText = document.getElementById("sponsorTimesReportText" + this.idSuffix);
|
||||||
if (downvoteButtonText != null) {
|
if (downvoteButtonText != null) {
|
||||||
downvoteButtonText.style.display = "none";
|
downvoteButtonText.style.display = "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
//add info
|
//add info
|
||||||
let thanksForVotingText = document.createElement("td");
|
let thanksForVotingText = document.createElement("td");
|
||||||
thanksForVotingText.id = "sponsorTimesVoteButtonInfoMessage" + this.UUID;
|
thanksForVotingText.id = "sponsorTimesVoteButtonInfoMessage" + this.idSuffix;
|
||||||
thanksForVotingText.className = "sponsorTimesInfoMessage sponsorTimesVoteButtonMessage";
|
thanksForVotingText.className = "sponsorTimesInfoMessage sponsorTimesVoteButtonMessage";
|
||||||
thanksForVotingText.innerText = message;
|
thanksForVotingText.innerText = message;
|
||||||
|
|
||||||
//add element to div
|
//add element to div
|
||||||
document.getElementById("sponsorSkipNoticeSecondRow" + this.UUID).prepend(thanksForVotingText);
|
document.getElementById("sponsorSkipNoticeSecondRow" + this.idSuffix).prepend(thanksForVotingText);
|
||||||
}
|
}
|
||||||
|
|
||||||
resetVoteButtonInfo() {
|
resetVoteButtonInfo() {
|
||||||
let previousInfoMessage = document.getElementById("sponsorTimesVoteButtonInfoMessage" + this.UUID);
|
let previousInfoMessage = document.getElementById("sponsorTimesVoteButtonInfoMessage" + this.idSuffix);
|
||||||
if (previousInfoMessage != null) {
|
if (previousInfoMessage != null) {
|
||||||
//remove it
|
//remove it
|
||||||
document.getElementById("sponsorSkipNoticeSecondRow" + this.UUID).removeChild(previousInfoMessage);
|
document.getElementById("sponsorSkipNoticeSecondRow" + this.idSuffix).removeChild(previousInfoMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
//show button again
|
//show button again
|
||||||
document.getElementById("sponsorTimesDownvoteButtonsContainer" + this.UUID).style.removeProperty("display");
|
document.getElementById("sponsorTimesDownvoteButtonsContainer" + this.idSuffix).style.removeProperty("display");
|
||||||
}
|
}
|
||||||
|
|
||||||
//close this notice
|
//close this notice
|
||||||
close() {
|
close() {
|
||||||
let notice = document.getElementById("sponsorSkipNotice" + this.UUID);
|
let notice = document.getElementById("sponsorSkipNotice" + this.idSuffix);
|
||||||
if (notice != null) {
|
if (notice != null) {
|
||||||
notice.remove();
|
notice.remove();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue