Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Anarios/return-youtube-dislike.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCreaZyp154 <cyril@strahm.org>2022-04-12 14:43:50 +0300
committerCreaZyp154 <cyril@strahm.org>2022-04-12 14:43:50 +0300
commit43a7167e2b02a5476a98ee87cffa1f9778ae9824 (patch)
tree29a326447b01853d312e1d98501c12e66ec4bedf
parent1d2f89a38c6743489e399fd9d5021df52d3f6150 (diff)
Closes #472
-rw-r--r--Extensions/combined/_locales/en/messages.json3
-rw-r--r--Extensions/combined/_locales/fr/messages.json3
-rw-r--r--Extensions/combined/src/bar.js9
-rw-r--r--Extensions/combined/src/state.js29
4 files changed, 28 insertions, 16 deletions
diff --git a/Extensions/combined/_locales/en/messages.json b/Extensions/combined/_locales/en/messages.json
index c53f45a..f937645 100644
--- a/Extensions/combined/_locales/en/messages.json
+++ b/Extensions/combined/_locales/en/messages.json
@@ -26,6 +26,9 @@
"textSettings": {
"message": "Disable like/dislike submission"
},
+ "textLikesDisabled": {
+ "message": "disabled by owner"
+ },
"textSettingsHover": {
"message": "Stops counting your likes and dislikes."
},
diff --git a/Extensions/combined/_locales/fr/messages.json b/Extensions/combined/_locales/fr/messages.json
index 7556201..1fc16cb 100644
--- a/Extensions/combined/_locales/fr/messages.json
+++ b/Extensions/combined/_locales/fr/messages.json
@@ -23,6 +23,9 @@
"legendSettings": {
"message": "Paramètres"
},
+ "textLikesDisabled": {
+ "message": "Désactivé par le créateur"
+ },
"textSettings": {
"message": "Désactiver l'envoi des likes/dislikes"
},
diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js
index dbd4c68..c56ab57 100644
--- a/Extensions/combined/src/bar.js
+++ b/Extensions/combined/src/bar.js
@@ -1,8 +1,9 @@
import { getButtons } from "./buttons";
-import { likesDisabledState, extConfig, isMobile } from "./state";
+import { extConfig, isMobile, isLikesDisabled } from "./state";
import { cLog, getColorFromTheme } from "./utils";
+
function createRateBar(likes, dislikes) {
- if (!likesDisabledState) {
+ if (!isLikesDisabled()) {
let rateBar = document.getElementById("ryd-bar-container");
const widthPx =
@@ -61,7 +62,9 @@ function createRateBar(likes, dislikes) {
} else {
cLog("removing bar");
let ratebar = document.getElementById("ryd-bar-container");
- ratebar.parentNode.removeChild(ratebar);
+ if(ratebar) {
+ ratebar.parentNode.removeChild(ratebar);
+ }
}
}
diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js
index c4abdfa..4ca7d35 100644
--- a/Extensions/combined/src/state.js
+++ b/Extensions/combined/src/state.js
@@ -16,8 +16,6 @@ const LIKED_STATE = "LIKED_STATE";
const DISLIKED_STATE = "DISLIKED_STATE";
const NEUTRAL_STATE = "NEUTRAL_STATE";
-const DISLIKES_DISABLED_TEXT = "DISLIKES DISABLED";
-
let extConfig = {
disableVoteSubmission: false,
coloredThumbs: false,
@@ -33,8 +31,6 @@ let storedData = {
previousState: NEUTRAL_STATE,
};
-let likesDisabledState = true;
-
function isMobile() {
return location.hostname == "m.youtube.com";
}
@@ -43,6 +39,16 @@ function isShorts() {
return location.pathname.startsWith("/shorts");
}
+function isLikesDisabled() {
+ // return true if the like button's text doesn't contain any number
+ if (isMobile()) {
+ return /^\D*$/.test(
+ getButtons().children[0].querySelector(".button-renderer-text").innerText
+ );
+ }
+ return /^\D*$/.test(getButtons().children[0].querySelector("#text").innerText);
+}
+
function isVideoLiked() {
if (isMobile()) {
return (
@@ -79,7 +85,7 @@ function setLikes(likesCount) {
}
function setDislikes(dislikesCount) {
- if (!likesDisabledState) {
+ if (!isLikesDisabled()) {
if (isMobile()) {
getButtons().children[1].querySelector(
".button-renderer-text"
@@ -92,11 +98,12 @@ function setDislikes(dislikesCount) {
if (isMobile()) {
getButtons().children[1].querySelector(
".button-renderer-text"
- ).innerText = DISLIKES_DISABLED_TEXT;
+ ).innerText = localize("TextLikesDisabled");
return;
}
- getButtons().children[1].querySelector("#text").innerText =
- DISLIKES_DISABLED_TEXT;
+ getButtons().children[1].querySelector("#text").innerText = localize(
+ "TextLikesDisabled"
+ );
}
}
@@ -160,10 +167,6 @@ async function setState(storedData) {
.catch(displayError);
cLog("response from api:");
cLog(JSON.stringify(response));
- likesDisabledState =
- numberFormat(response.dislikes) == 0 &&
- numberFormat(response.likes) == 0 &&
- numberFormat(response.viewCount) == 0;
if (response !== undefined && !("traceId" in response) && !statsSet) {
processResponse(response, storedData);
}
@@ -262,5 +265,5 @@ export {
extConfig,
initExtConfig,
storedData,
- likesDisabledState,
+ isLikesDisabled
};