diff options
-rw-r--r-- | _locales/en/messages.json | 12 | ||||
-rw-r--r-- | background.js | 2 | ||||
-rw-r--r-- | content.js | 17 | ||||
-rw-r--r-- | manifest.json | 2 | ||||
-rw-r--r-- | popup.html | 22 | ||||
-rw-r--r-- | popup.js | 31 |
6 files changed, 71 insertions, 15 deletions
diff --git a/_locales/en/messages.json b/_locales/en/messages.json index c0cb80bf..d5684bb0 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -320,5 +320,17 @@ }, "statusReminder": { "message": "Check status.sponsor.ajay.app for server status." + }, + "changeUserID": { + "message": "Import/Export Your UserID" + }, + "whatChangeUserID": { + "message": "This should be kept private. This is like a password and should not be shared with anyone. If someone has this, they can impersonate you." + }, + "setUserID": { + "message": "Set UserID" + }, + "userIDChangeWarning": { + "message": "Warning: Changing the UserID is permanent. Are you sure you would like to do this? Make sure to backup your old one just in case." } } diff --git a/background.js b/background.js index ae1f7e45..f2759f1f 100644 --- a/background.js +++ b/background.js @@ -109,7 +109,7 @@ function submitVote(type, UUID, callback) { } //publish this vote - sendRequestToServer("GET", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) { + sendRequestToServer("POST", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { callback({ successType: 1 @@ -498,12 +498,11 @@ function updatePreviewBar() { function getChannelID() { //get channel id - let channelNameContainer = document.getElementById("channel-name"); - let channelURLContainer = null; - if (channelNameContainer !== null) { - channelURLContainer = channelNameContainer.querySelector("#container").querySelector("#text-container").querySelector("#text").firstElementChild; + channelURLContainer = document.querySelector("#channel-name > #container > #text-container > #text"); + if (channelURLContainer !== null) { + channelURLContainer = channelURLContainer.firstElementChild; } else { //old YouTube theme let channelContainers = document.getElementsByClassName("yt-user-info"); @@ -652,9 +651,9 @@ function skipToTime(v, index, sponsorTimes, openNotice) { } } - //send telemetry that a this sponsor was skipped happened + //send telemetry that a this sponsor was skipped if (trackViewCount && !sponsorSkipped[index]) { - sendRequestToServer("GET", "/api/viewedVideoSponsorTime?UUID=" + currentUUID); + sendRequestToServer("POST", "/api/viewedVideoSponsorTime?UUID=" + currentUUID); if (!disableAutoSkip) { // Count this as a skip @@ -941,11 +940,13 @@ function vote(type, UUID, skipNotice) { let sponsorIndex = UUIDs.indexOf(UUID); - // See if the local time saved count and skip count should be reverted + // See if the local time saved count and skip count should be saved if (type == 0 && sponsorSkipped[sponsorIndex] || type == 1 && !sponsorSkipped[sponsorIndex]) { let factor = 1; if (type == 0) { factor = -1; + + sponsorSkipped[sponsorIndex] = false; } // Count this as a skip @@ -959,8 +960,6 @@ function vote(type, UUID, skipNotice) { chrome.storage.sync.set({"skipCount": result.skipCount + factor * 1 }); }); - - sponsorSkipped[sponsorIndex] = !sponsorSkipped[sponsorIndex]; } chrome.runtime.sendMessage({ diff --git a/manifest.json b/manifest.json index 8b1e6e64..611376a4 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_fullName__", "short_name": "__MSG_Name__", - "version": "1.2.1", + "version": "1.2.2", "default_locale": "en", "description": "__MSG_Description__", "content_scripts": [ @@ -253,6 +253,28 @@ <br/> <br/> + + <button id="changeUserIDButton" class="warningButton popupElement">__MSG_changeUserID__</button> + <br/> + <sub class="popupElement"> + __MSG_whatChangeUserID__ + </sub> + + <div id="changeUserID" class="popupElement" style="display: none"> + <br/> + <br/> + + <input id="userIDInput" hint="userID"></input> + + <br/> + <br/> + + <button id="setUserID" class="warningButton popupElement">__MSG_setUserID__</button> + </div> + + <br/> + <br/> + <button id="disableSponsorViewTracking" class="warningButton popupElement">__MSG_disableViewTracking__</button> <button id="enableSponsorViewTracking" style="display: none" class="warningButton popupElement">__MSG_enableViewTracking__</button> <br/> @@ -82,6 +82,11 @@ function runThePopup() { "setUsername", "usernameInput", "submitUsername", + // UserID + "changeUserID", + "changeUserIDButton", + "userIDInput", + "setUserID", // More "submissionSection", "mainControls", @@ -118,6 +123,8 @@ function runThePopup() { SB.enableSponsorViewTracking.addEventListener("click", enableSponsorViewTracking); SB.setUsernameButton.addEventListener("click", setUsernameButton); SB.submitUsername.addEventListener("click", submitUsername); + SB.changeUserIDButton.addEventListener("click", changeUserIDButton); + SB.setUserID.addEventListener("click", setUserID); SB.optionsButton.addEventListener("click", openOptions); SB.reportAnIssue.addEventListener("click", reportAnIssue); SB.hideDiscordButton.addEventListener("click", hideDiscordButton); @@ -740,8 +747,8 @@ function runThePopup() { tabs[0].id, {message: "getCurrentTime"}, function (response) { - let minutes = document.getElementById(idStartName + chrome.i18n.getMessage("Mins") + index); - let seconds = document.getElementById(idStartName + chrome.i18n.getMessage("Secs") + index); + let minutes = document.getElementById(idStartName + "Minutes" + index); + let seconds = document.getElementById(idStartName + "Seconds" + index); minutes.value = getTimeInMinutes(response.currentTime); seconds.value = getTimeInFormattedSeconds(response.currentTime); @@ -752,8 +759,8 @@ function runThePopup() { //id start name is whether it is the startTime or endTime //gives back the time in seconds function getSponsorTimeEditTimes(idStartName, index) { - let minutes = document.getElementById(idStartName + chrome.i18n.getMessage("Mins") + index); - let seconds = document.getElementById(idStartName + chrome.i18n.getMessage("Secs") + index); + let minutes = document.getElementById(idStartName + "Minutes" + index); + let seconds = document.getElementById(idStartName + "Seconds" + index); return parseInt(minutes.value) * 60 + parseFloat(seconds.value); } @@ -1158,6 +1165,22 @@ function runThePopup() { SB.setUsernameContainer.style.display = "none"; SB.setUsername.style.display = "unset"; } + + function changeUserIDButton() { + //get the user ID + chrome.storage.sync.get(["userID"], function(result) { + SB.userIDInput.value = result.userID; + SB.setUserID.style.display = "unset"; + SB.userIDInput.style.display = "unset"; + SB.changeUserID.style.display = "unset"; + }); + } + + function setUserID() { + if (!confirm(chrome.i18n.getMessage("userIDChangeWarning"))) return; + + chrome.storage.sync.set({"userID": SB.userIDInput.value}); + } //this is not a YouTube video page function displayNoVideo() { |