Compare commits

...

5 Commits
4.5 ... 4.5.1

Author SHA1 Message Date
Ajay Ramachandran
e480e032f2 bump version 2022-06-05 00:09:21 -04:00
Ajay Ramachandran
995001bd91 New Crowdin updates (#1342) 2022-06-05 00:09:14 -04:00
Ajay
466152ed42 Fix popup copy to clipboard 2022-06-04 01:56:00 -04:00
Ajay
e4855f7427 Fix messed up margin on popup 2022-06-04 01:50:19 -04:00
Ajay
258abd5deb Fix jest errors not displaying in console 2022-06-03 15:12:35 -04:00
9 changed files with 105 additions and 8 deletions

View File

@@ -5,5 +5,5 @@ module.exports = {
"transform": {
"^.+\\.ts$": "ts-jest"
},
"reporters": ["github-actions"]
"reporters": ["default", "github-actions"]
};

View File

@@ -1,7 +1,7 @@
{
"name": "__MSG_fullName__",
"short_name": "SponsorBlock",
"version": "4.5",
"version": "4.5.1",
"default_locale": "en",
"description": "__MSG_Description__",
"homepage_url": "https://sponsor.ajay.app",

View File

@@ -239,6 +239,9 @@
"showSkipNotice": {
"message": "Mostrar aviso después de que se omita un segmento"
},
"showCategoryGuidelines": {
"message": "Mostrar Ayuda de la Categoría"
},
"noticeVisibilityMode0": {
"message": "Avisos de Omisión de Tamaño Completo"
},
@@ -542,11 +545,20 @@
"message": "a",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"generic_guideline2": {
"message": "Se reproduce como si no se hubiera omitido nada"
},
"category_sponsor": {
"message": "Sponsor"
},
"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": {
"message": "Promoción Propia/No Remunerada"
@@ -554,6 +566,12 @@
"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."
},
"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": {
"message": "Acceso Exclusivo"
},

View File

@@ -589,7 +589,7 @@
"description": "Short description for this category"
},
"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": {
"message": "Vuorovaikutusmuistutus (tilaaminen)"

View File

@@ -545,6 +545,9 @@
"message": "till",
"description": "Used between segments. Example: 1:20 to 1:30"
},
"generic_guideline1": {
"message": "Inkludera segmentövergångar"
},
"generic_guideline2": {
"message": "Spelar som om ingenting hoppades över"
},
@@ -557,6 +560,9 @@
"category_sponsor_guideline1": {
"message": "Betalda kampanjer"
},
"category_sponsor_guideline2": {
"message": "Inte för donationer eller anpassade varor"
},
"category_selfpromo": {
"message": "Obetald/självbefodran"
},
@@ -566,6 +572,12 @@
"category_selfpromo_guideline1": {
"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": {
"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",
"description": "Short description for this category"
},
"category_exclusive_access_guideline1": {
"message": "Hela videon visar något med gratis eller subventionerad tillgång"
},
"category_interaction": {
"message": "Interaktionspåminnelse (Prenumerera)"
},
@@ -585,6 +600,12 @@
"category_interaction_guideline1": {
"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": {
"message": "Interaktionspåminnelse"
},
@@ -597,21 +618,36 @@
"category_intro_short": {
"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": {
"message": "Slutkort/Credits"
},
"category_outro_description": {
"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": {
"message": "Förhandsgranska/sammanfatta"
},
"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."
},
"category_preview_guideline1": {
"message": "Klipp som visas senare, eller i en framtida video"
},
"category_preview_guideline2": {
"message": "Sammanfattning av en tidigare video"
},
"category_preview_guideline3": {
"message": "Inte för sektioner som lägger till ytterligare innehåll"
},
"category_filler": {
"message": "Ämnesavvikelse/Skämt"
},
@@ -621,6 +657,15 @@
"category_filler_short": {
"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": {
"message": "Musik: Icke-musikavsnitt"
},
@@ -630,12 +675,27 @@
"category_music_offtopic_short": {
"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": {
"message": "Höjdpunkt"
},
"category_poi_highlight_description": {
"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": {
"message": "Liveström: Donations-/meddelandeavläsningar"
},

View File

@@ -78,7 +78,7 @@
<sub class="sponsorStartHint grey-text">__MSG_popupHint__</sub>
<div align="center" style="margin: 8px 0;">
<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>
<span id="submissionHint" style="display: none;">__MSG_submissionEditHint__</span>
</div>

View File

@@ -220,6 +220,9 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
case "closePopup":
closeInfoMenu();
break;
case "copyToClipboard":
navigator.clipboard.writeText(request.text);
break;
}
}

View File

@@ -42,7 +42,12 @@ interface HideSegmentMessage {
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 {
found: boolean;

View File

@@ -178,7 +178,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
PageElements.optionsButton.addEventListener("click", openOptions);
PageElements.helpButton.addEventListener("click", openHelp);
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
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.title = chrome.i18n.getMessage("copySegmentID");
uuidButton.addEventListener("click", () => {
navigator.clipboard.writeText(UUID);
copyToClipboard(UUID);
const stopAnimation = AnimationUtils.applyLoadingAnimation(uuidButton, 0.3);
stopAnimation();
});
@@ -850,6 +850,17 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
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
* If less than 1 hour, just returns minutes