mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-16 16:37:18 +03:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e480e032f2 | ||
|
|
995001bd91 | ||
|
|
466152ed42 | ||
|
|
e4855f7427 | ||
|
|
258abd5deb |
@@ -5,5 +5,5 @@ module.exports = {
|
|||||||
"transform": {
|
"transform": {
|
||||||
"^.+\\.ts$": "ts-jest"
|
"^.+\\.ts$": "ts-jest"
|
||||||
},
|
},
|
||||||
"reporters": ["github-actions"]
|
"reporters": ["default", "github-actions"]
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "__MSG_fullName__",
|
"name": "__MSG_fullName__",
|
||||||
"short_name": "SponsorBlock",
|
"short_name": "SponsorBlock",
|
||||||
"version": "4.5",
|
"version": "4.5.1",
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
"description": "__MSG_Description__",
|
"description": "__MSG_Description__",
|
||||||
"homepage_url": "https://sponsor.ajay.app",
|
"homepage_url": "https://sponsor.ajay.app",
|
||||||
|
|||||||
@@ -239,6 +239,9 @@
|
|||||||
"showSkipNotice": {
|
"showSkipNotice": {
|
||||||
"message": "Mostrar aviso después de que se omita un segmento"
|
"message": "Mostrar aviso después de que se omita un segmento"
|
||||||
},
|
},
|
||||||
|
"showCategoryGuidelines": {
|
||||||
|
"message": "Mostrar Ayuda de la Categoría"
|
||||||
|
},
|
||||||
"noticeVisibilityMode0": {
|
"noticeVisibilityMode0": {
|
||||||
"message": "Avisos de Omisión de Tamaño Completo"
|
"message": "Avisos de Omisión de Tamaño Completo"
|
||||||
},
|
},
|
||||||
@@ -542,11 +545,20 @@
|
|||||||
"message": "a",
|
"message": "a",
|
||||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||||
},
|
},
|
||||||
|
"generic_guideline2": {
|
||||||
|
"message": "Se reproduce como si no se hubiera omitido nada"
|
||||||
|
},
|
||||||
"category_sponsor": {
|
"category_sponsor": {
|
||||||
"message": "Sponsor"
|
"message": "Sponsor"
|
||||||
},
|
},
|
||||||
"category_sponsor_description": {
|
"category_sponsor_description": {
|
||||||
"message": "Promoción pagada, recomendaciones pagadas y anuncios directos. No para promoción propia o anuncios gratuitos a causas/creadores/sitios web/productos que les gusten."
|
"message": "Promoción pagada, recomendaciones pagadas y anuncios directos. No para promoción propia o agradecimientos gratuitos a causas/creadores/sitios web/productos que les gusten."
|
||||||
|
},
|
||||||
|
"category_sponsor_guideline1": {
|
||||||
|
"message": "Promociones pagadas"
|
||||||
|
},
|
||||||
|
"category_sponsor_guideline2": {
|
||||||
|
"message": "No para donaciones o mercancía personalizada"
|
||||||
},
|
},
|
||||||
"category_selfpromo": {
|
"category_selfpromo": {
|
||||||
"message": "Promoción Propia/No Remunerada"
|
"message": "Promoción Propia/No Remunerada"
|
||||||
@@ -554,6 +566,12 @@
|
|||||||
"category_selfpromo_description": {
|
"category_selfpromo_description": {
|
||||||
"message": "Similar a \"sponsor\", excepto que para la promoción propia o no remunerada. Esto incluye secciones sobre mercancía, donaciones o información sobre con quiénes colaboraron."
|
"message": "Similar a \"sponsor\", excepto que para la promoción propia o no remunerada. Esto incluye secciones sobre mercancía, donaciones o información sobre con quiénes colaboraron."
|
||||||
},
|
},
|
||||||
|
"category_selfpromo_guideline1": {
|
||||||
|
"message": "Donaciones, membresías y mercancía personalizada"
|
||||||
|
},
|
||||||
|
"category_selfpromo_guideline2": {
|
||||||
|
"message": "Agradecimientos gratuitos que no añaden al video"
|
||||||
|
},
|
||||||
"category_exclusive_access": {
|
"category_exclusive_access": {
|
||||||
"message": "Acceso Exclusivo"
|
"message": "Acceso Exclusivo"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -589,7 +589,7 @@
|
|||||||
"description": "Short description for this category"
|
"description": "Short description for this category"
|
||||||
},
|
},
|
||||||
"category_exclusive_access_guideline1": {
|
"category_exclusive_access_guideline1": {
|
||||||
"message": "Koko video keskittyy johonkin, jonka käyttöoikeus on saatu veloituksetta tai tuetusti"
|
"message": "Koko video esittelee jotakin, jonka käyttöoikeus on saatu veloituksetta tai tuetusti"
|
||||||
},
|
},
|
||||||
"category_interaction": {
|
"category_interaction": {
|
||||||
"message": "Vuorovaikutusmuistutus (tilaaminen)"
|
"message": "Vuorovaikutusmuistutus (tilaaminen)"
|
||||||
|
|||||||
@@ -545,6 +545,9 @@
|
|||||||
"message": "till",
|
"message": "till",
|
||||||
"description": "Used between segments. Example: 1:20 to 1:30"
|
"description": "Used between segments. Example: 1:20 to 1:30"
|
||||||
},
|
},
|
||||||
|
"generic_guideline1": {
|
||||||
|
"message": "Inkludera segmentövergångar"
|
||||||
|
},
|
||||||
"generic_guideline2": {
|
"generic_guideline2": {
|
||||||
"message": "Spelar som om ingenting hoppades över"
|
"message": "Spelar som om ingenting hoppades över"
|
||||||
},
|
},
|
||||||
@@ -557,6 +560,9 @@
|
|||||||
"category_sponsor_guideline1": {
|
"category_sponsor_guideline1": {
|
||||||
"message": "Betalda kampanjer"
|
"message": "Betalda kampanjer"
|
||||||
},
|
},
|
||||||
|
"category_sponsor_guideline2": {
|
||||||
|
"message": "Inte för donationer eller anpassade varor"
|
||||||
|
},
|
||||||
"category_selfpromo": {
|
"category_selfpromo": {
|
||||||
"message": "Obetald/självbefodran"
|
"message": "Obetald/självbefodran"
|
||||||
},
|
},
|
||||||
@@ -566,6 +572,12 @@
|
|||||||
"category_selfpromo_guideline1": {
|
"category_selfpromo_guideline1": {
|
||||||
"message": "Donationer, medlemskap och anpassade varor"
|
"message": "Donationer, medlemskap och anpassade varor"
|
||||||
},
|
},
|
||||||
|
"category_selfpromo_guideline2": {
|
||||||
|
"message": "Gratis shoutouts som inte läggs till i videon"
|
||||||
|
},
|
||||||
|
"category_selfpromo_guideline3": {
|
||||||
|
"message": "Inte för företagsdesignade produkter och varor"
|
||||||
|
},
|
||||||
"category_exclusive_access": {
|
"category_exclusive_access": {
|
||||||
"message": "Exklusiv tillgång"
|
"message": "Exklusiv tillgång"
|
||||||
},
|
},
|
||||||
@@ -576,6 +588,9 @@
|
|||||||
"message": "Denna video visar en produkt, tjänst eller plats som de har fått gratis eller subventionerad tillgång till",
|
"message": "Denna video visar en produkt, tjänst eller plats som de har fått gratis eller subventionerad tillgång till",
|
||||||
"description": "Short description for this category"
|
"description": "Short description for this category"
|
||||||
},
|
},
|
||||||
|
"category_exclusive_access_guideline1": {
|
||||||
|
"message": "Hela videon visar något med gratis eller subventionerad tillgång"
|
||||||
|
},
|
||||||
"category_interaction": {
|
"category_interaction": {
|
||||||
"message": "Interaktionspåminnelse (Prenumerera)"
|
"message": "Interaktionspåminnelse (Prenumerera)"
|
||||||
},
|
},
|
||||||
@@ -585,6 +600,12 @@
|
|||||||
"category_interaction_guideline1": {
|
"category_interaction_guideline1": {
|
||||||
"message": "Korta påminnelser om att gilla, prenumerera eller följa"
|
"message": "Korta påminnelser om att gilla, prenumerera eller följa"
|
||||||
},
|
},
|
||||||
|
"category_interaction_guideline2": {
|
||||||
|
"message": "Inkluderar indirekta påminnelser att kommentera"
|
||||||
|
},
|
||||||
|
"category_interaction_guideline3": {
|
||||||
|
"message": "Inte för allmän marknadsföring, endast för uppmaningar"
|
||||||
|
},
|
||||||
"category_interaction_short": {
|
"category_interaction_short": {
|
||||||
"message": "Interaktionspåminnelse"
|
"message": "Interaktionspåminnelse"
|
||||||
},
|
},
|
||||||
@@ -597,21 +618,36 @@
|
|||||||
"category_intro_short": {
|
"category_intro_short": {
|
||||||
"message": "Uppehåll"
|
"message": "Uppehåll"
|
||||||
},
|
},
|
||||||
|
"category_intro_guideline1": {
|
||||||
|
"message": "Intervall utan egentligt innehåll"
|
||||||
|
},
|
||||||
|
"category_intro_guideline2": {
|
||||||
|
"message": "Inte för övergångar med information"
|
||||||
|
},
|
||||||
"category_outro": {
|
"category_outro": {
|
||||||
"message": "Slutkort/Credits"
|
"message": "Slutkort/Credits"
|
||||||
},
|
},
|
||||||
"category_outro_description": {
|
"category_outro_description": {
|
||||||
"message": "Credits eller när YouTube-slutkort visas. Inte för slut med information."
|
"message": "Credits eller när YouTube-slutkort visas. Inte för slut med information."
|
||||||
},
|
},
|
||||||
|
"category_outro_guideline1": {
|
||||||
|
"message": "Inkludera inte innehåll, även om slutkort visas på skärmen"
|
||||||
|
},
|
||||||
"category_preview": {
|
"category_preview": {
|
||||||
"message": "Förhandsgranska/sammanfatta"
|
"message": "Förhandsgranska/sammanfatta"
|
||||||
},
|
},
|
||||||
"category_preview_description": {
|
"category_preview_description": {
|
||||||
"message": "Snabb sammanfattning av tidigare avsnitt eller en förhandsvisning av vad som kommer upp senare i den aktuella videon. Avsett för redigerade klipp, inte för sammanfattningar."
|
"message": "Snabb sammanfattning av tidigare avsnitt eller en förhandsvisning av vad som kommer upp senare i den aktuella videon. Avsett för redigerade klipp, inte för sammanfattningar."
|
||||||
},
|
},
|
||||||
|
"category_preview_guideline1": {
|
||||||
|
"message": "Klipp som visas senare, eller i en framtida video"
|
||||||
|
},
|
||||||
"category_preview_guideline2": {
|
"category_preview_guideline2": {
|
||||||
"message": "Sammanfattning av en tidigare video"
|
"message": "Sammanfattning av en tidigare video"
|
||||||
},
|
},
|
||||||
|
"category_preview_guideline3": {
|
||||||
|
"message": "Inte för sektioner som lägger till ytterligare innehåll"
|
||||||
|
},
|
||||||
"category_filler": {
|
"category_filler": {
|
||||||
"message": "Ämnesavvikelse/Skämt"
|
"message": "Ämnesavvikelse/Skämt"
|
||||||
},
|
},
|
||||||
@@ -621,6 +657,15 @@
|
|||||||
"category_filler_short": {
|
"category_filler_short": {
|
||||||
"message": "Utfyllnad"
|
"message": "Utfyllnad"
|
||||||
},
|
},
|
||||||
|
"category_filler_guideline1": {
|
||||||
|
"message": "Tangentiella scener endast för utfyllnad eller humor"
|
||||||
|
},
|
||||||
|
"category_filler_guideline2": {
|
||||||
|
"message": "Distraktioner, bloopers, repriser"
|
||||||
|
},
|
||||||
|
"category_filler_guideline3": {
|
||||||
|
"message": "Inte för scener som krävs för att förstå ämnet"
|
||||||
|
},
|
||||||
"category_music_offtopic": {
|
"category_music_offtopic": {
|
||||||
"message": "Musik: Icke-musikavsnitt"
|
"message": "Musik: Icke-musikavsnitt"
|
||||||
},
|
},
|
||||||
@@ -630,12 +675,27 @@
|
|||||||
"category_music_offtopic_short": {
|
"category_music_offtopic_short": {
|
||||||
"message": "Icke-musik"
|
"message": "Icke-musik"
|
||||||
},
|
},
|
||||||
|
"category_music_offtopic_guideline1": {
|
||||||
|
"message": "Avsnitt som inte finns i officiella utgåvor"
|
||||||
|
},
|
||||||
|
"category_music_offtopic_guideline2": {
|
||||||
|
"message": "Icke-musik i ett liveframträdande"
|
||||||
|
},
|
||||||
"category_poi_highlight": {
|
"category_poi_highlight": {
|
||||||
"message": "Höjdpunkt"
|
"message": "Höjdpunkt"
|
||||||
},
|
},
|
||||||
"category_poi_highlight_description": {
|
"category_poi_highlight_description": {
|
||||||
"message": "Den del av videon som de flesta letar efter. Liknande kommentarer \"Video börjar på x\"."
|
"message": "Den del av videon som de flesta letar efter. Liknande kommentarer \"Video börjar på x\"."
|
||||||
},
|
},
|
||||||
|
"category_poi_highlight_guideline1": {
|
||||||
|
"message": "Avsnitt som de flesta personer letar efter"
|
||||||
|
},
|
||||||
|
"category_poi_highlight_guideline2": {
|
||||||
|
"message": "Kan hoppa över sammanhang"
|
||||||
|
},
|
||||||
|
"category_poi_highlight_guideline3": {
|
||||||
|
"message": "Kan hoppa över till titeln eller miniatyrbilden"
|
||||||
|
},
|
||||||
"category_livestream_messages": {
|
"category_livestream_messages": {
|
||||||
"message": "Liveström: Donations-/meddelandeavläsningar"
|
"message": "Liveström: Donations-/meddelandeavläsningar"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
<sub class="sponsorStartHint grey-text">__MSG_popupHint__</sub>
|
<sub class="sponsorStartHint grey-text">__MSG_popupHint__</sub>
|
||||||
<div align="center" style="margin: 8px 0;">
|
<div align="center" style="margin: 8px 0;">
|
||||||
<button id="sponsorStart" class="sbMediumButton" style="margin-right: 8px">__MSG_sponsorStart__</button>
|
<button id="sponsorStart" class="sbMediumButton" style="margin-right: 8px">__MSG_sponsorStart__</button>
|
||||||
<button id="submitTimes" class="sbMediumButton" style="display: none; margin: 0 !important;">__MSG_submitTimesButton__</button>
|
<button id="submitTimes" class="sbMediumButton" style="display: none;">__MSG_submitTimesButton__</button>
|
||||||
</div>
|
</div>
|
||||||
<span id="submissionHint" style="display: none;">__MSG_submissionEditHint__</span>
|
<span id="submissionHint" style="display: none;">__MSG_submissionEditHint__</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -220,6 +220,9 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
|
|||||||
case "closePopup":
|
case "closePopup":
|
||||||
closeInfoMenu();
|
closeInfoMenu();
|
||||||
break;
|
break;
|
||||||
|
case "copyToClipboard":
|
||||||
|
navigator.clipboard.writeText(request.text);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,12 @@ interface HideSegmentMessage {
|
|||||||
UUID: SegmentUUID;
|
UUID: SegmentUUID;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Message = BaseMessage & (DefaultMessage | BoolValueMessage | IsInfoFoundMessage | SubmitVoteMessage | HideSegmentMessage);
|
interface CopyToClipboardMessage {
|
||||||
|
message: "copyToClipboard";
|
||||||
|
text: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type Message = BaseMessage & (DefaultMessage | BoolValueMessage | IsInfoFoundMessage | SubmitVoteMessage | HideSegmentMessage | CopyToClipboardMessage);
|
||||||
|
|
||||||
export interface IsInfoFoundMessageResponse {
|
export interface IsInfoFoundMessageResponse {
|
||||||
found: boolean;
|
found: boolean;
|
||||||
|
|||||||
15
src/popup.ts
15
src/popup.ts
@@ -178,7 +178,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
PageElements.optionsButton.addEventListener("click", openOptions);
|
PageElements.optionsButton.addEventListener("click", openOptions);
|
||||||
PageElements.helpButton.addEventListener("click", openHelp);
|
PageElements.helpButton.addEventListener("click", openHelp);
|
||||||
PageElements.refreshSegmentsButton.addEventListener("click", refreshSegments);
|
PageElements.refreshSegmentsButton.addEventListener("click", refreshSegments);
|
||||||
PageElements.sbPopupIconCopyUserID.addEventListener("click", async () => navigator.clipboard.writeText(await utils.getHash(Config.config.userID)));
|
PageElements.sbPopupIconCopyUserID.addEventListener("click", async () => copyToClipboard(await utils.getHash(Config.config.userID)));
|
||||||
|
|
||||||
//show proper disable skipping button
|
//show proper disable skipping button
|
||||||
const disableSkipping = Config.config.disableSkipping;
|
const disableSkipping = Config.config.disableSkipping;
|
||||||
@@ -496,7 +496,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
uuidButton.src = chrome.runtime.getURL("icons/clipboard.svg");
|
uuidButton.src = chrome.runtime.getURL("icons/clipboard.svg");
|
||||||
uuidButton.title = chrome.i18n.getMessage("copySegmentID");
|
uuidButton.title = chrome.i18n.getMessage("copySegmentID");
|
||||||
uuidButton.addEventListener("click", () => {
|
uuidButton.addEventListener("click", () => {
|
||||||
navigator.clipboard.writeText(UUID);
|
copyToClipboard(UUID);
|
||||||
const stopAnimation = AnimationUtils.applyLoadingAnimation(uuidButton, 0.3);
|
const stopAnimation = AnimationUtils.applyLoadingAnimation(uuidButton, 0.3);
|
||||||
stopAnimation();
|
stopAnimation();
|
||||||
});
|
});
|
||||||
@@ -850,6 +850,17 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
|
|||||||
hiddenButton.style.display = "none";
|
hiddenButton.style.display = "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function copyToClipboard(text: string): void {
|
||||||
|
if (window === window.top) {
|
||||||
|
window.navigator.clipboard.writeText(text);
|
||||||
|
} else {
|
||||||
|
sendTabMessage({
|
||||||
|
message: "copyToClipboard",
|
||||||
|
text
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts time in minutes to 2d 5h 25.1
|
* Converts time in minutes to 2d 5h 25.1
|
||||||
* If less than 1 hour, just returns minutes
|
* If less than 1 hour, just returns minutes
|
||||||
|
|||||||
Reference in New Issue
Block a user