This commit is contained in:
CreaZyp154
2022-04-12 13:43:50 +02:00
parent 1d2f89a38c
commit 43a7167e2b
4 changed files with 28 additions and 16 deletions

View File

@@ -26,6 +26,9 @@
"textSettings": {
"message": "Disable like/dislike submission"
},
"textLikesDisabled": {
"message": "disabled by owner"
},
"textSettingsHover": {
"message": "Stops counting your likes and dislikes."
},

View File

@@ -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"
},

View File

@@ -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);
}
}
}

View File

@@ -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
};