mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-09 13:07:05 +03:00
Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1abc1b9b28 | ||
|
|
d10c8041bf | ||
|
|
c14c795474 | ||
|
|
e5937431c3 | ||
|
|
b24a688e63 | ||
|
|
10fd22f49c | ||
|
|
f1dda95847 | ||
|
|
f3f6dd171b | ||
|
|
c802212a62 | ||
|
|
afb666797d | ||
|
|
85a591c984 | ||
|
|
3edaea8102 | ||
|
|
93c39c3ecc | ||
|
|
ab2f0ef395 | ||
|
|
005ca73cce | ||
|
|
8dd8897f1f | ||
|
|
95555ed3fd | ||
|
|
11b71f7366 | ||
|
|
4537c70105 | ||
|
|
42a0cff162 | ||
|
|
527e6d4c24 |
@@ -82,10 +82,10 @@
|
||||
"message": "Bist du sicher, dass du Folgendes löschen möchtest?\n\n"
|
||||
},
|
||||
"Unknown": {
|
||||
"message": "Deine Segmente konnte nicht gesendet werden, bitte versuche es später erneut."
|
||||
"message": "Deine Segmente konnten nicht gesendet werden, bitte versuche es später erneut."
|
||||
},
|
||||
"sponsorFound": {
|
||||
"message": "Die gesponsorten Inhalte dieses Videos befindet sich bereits in der Datenbank!"
|
||||
"message": "Die gesponsorten Inhalte dieses Videos befinden sich bereits in der Datenbank!"
|
||||
},
|
||||
"sponsor404": {
|
||||
"message": "Keine Sponsoren gefunden"
|
||||
@@ -214,10 +214,10 @@
|
||||
"message": "Dieser Knopf entfernt sämtlich Segmente in der Youtube-Zeitleiste."
|
||||
},
|
||||
"disableViewTracking": {
|
||||
"message": "Deaktiviere mitzählen übersprungener Sponsoren"
|
||||
"message": "Deaktiviere das Mitzählen übersprungener Sponsoren"
|
||||
},
|
||||
"enableViewTracking": {
|
||||
"message": "Aktiviere mitzählen übersprungener Sponsoren"
|
||||
"message": "Aktiviere das Mitzählen übersprungener Sponsoren"
|
||||
},
|
||||
"whatViewTracking": {
|
||||
"message": "Diese Funktion hält fest, welche Sponsoren von dir übersprungen wurden und hilft anderen zu erfahren, was ihre Einsendungen bewirkt haben.\n Außerdem dienen die Werte zusammen mit positiven Rückmeldungen als Anti-Spam-Schutz. \n Wenn ein gesponsorter Inhalt übersprungen wird, sendet die Erweiterung eine Nachricht an den Server. \n Hoffentlich wird diese Funktion auch weiterhin genutzt, damit der Algorithmus funktioniert. :)"
|
||||
@@ -292,10 +292,10 @@
|
||||
"message": "Auto-Überspringen überspringt gesponsorte Inhalte für dich. Wenn deaktiviert, fragt die Benachrichtigung, ob übersprungen werden soll."
|
||||
},
|
||||
"youHaveSkipped": {
|
||||
"message": "Du hast übersprungen "
|
||||
"message": "Du übersprangst "
|
||||
},
|
||||
"youHaveSaved": {
|
||||
"message": "Du hast dir erspart "
|
||||
"message": "Du erspartest dir "
|
||||
},
|
||||
"minLower": {
|
||||
"message": "Minute"
|
||||
|
||||
@@ -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."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
17
content.js
17
content.js
@@ -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({
|
||||
|
||||
9
crowdin.yml
Normal file
9
crowdin.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
files:
|
||||
- source: /_locales/en/*
|
||||
translation: /_locales/%two_letters_code%/%original_file_name%
|
||||
languages_mapping:
|
||||
two_letters_code:
|
||||
pr-BR: "pt_BR"
|
||||
pr-PT: "pt_PT"
|
||||
zh-CN: "zh_CH"
|
||||
zh-TW: "zh_TW"
|
||||
@@ -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": [
|
||||
|
||||
22
popup.html
22
popup.html
@@ -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/>
|
||||
|
||||
31
popup.js
31
popup.js
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user