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:
authorAnarios <selivano.d@gmail.com>2022-08-05 23:57:27 +0300
committerAnarios <selivano.d@gmail.com>2022-08-05 23:57:27 +0300
commit2d9809ad3189a286e6d3c5335794435151f601c4 (patch)
treefb7f2c7f3b41d165f7ddc728f869883c9e591d13
parent63673f308910d52e470884e318cc6931c773c315 (diff)
New layout fix
-rw-r--r--Extensions/combined/manifest-chrome.json2
-rw-r--r--Extensions/combined/manifest-firefox.json2
-rw-r--r--Extensions/combined/src/buttons.js23
-rw-r--r--Extensions/combined/src/events.js11
-rw-r--r--Extensions/combined/src/state.js22
5 files changed, 39 insertions, 21 deletions
diff --git a/Extensions/combined/manifest-chrome.json b/Extensions/combined/manifest-chrome.json
index 95fe7e9..3e396a0 100644
--- a/Extensions/combined/manifest-chrome.json
+++ b/Extensions/combined/manifest-chrome.json
@@ -2,7 +2,7 @@
"name": "__MSG_extensionName__",
"description": "__MSG_extensionDesc__",
"default_locale": "en",
- "version": "3.0.0.4",
+ "version": "3.0.0.5",
"manifest_version": 3,
"background": {
"service_worker": "ryd.background.js"
diff --git a/Extensions/combined/manifest-firefox.json b/Extensions/combined/manifest-firefox.json
index 04f5162..efb42a4 100644
--- a/Extensions/combined/manifest-firefox.json
+++ b/Extensions/combined/manifest-firefox.json
@@ -2,7 +2,7 @@
"name": "__MSG_extensionName__",
"description": "__MSG_extensionDesc__",
"default_locale": "en",
- "version": "3.0.0.4",
+ "version": "3.0.0.5",
"manifest_version": 2,
"background": {
"scripts": ["ryd.background.js"]
diff --git a/Extensions/combined/src/buttons.js b/Extensions/combined/src/buttons.js
index 3b8cab4..6b344d9 100644
--- a/Extensions/combined/src/buttons.js
+++ b/Extensions/combined/src/buttons.js
@@ -33,7 +33,10 @@ function getButtons() {
}
function getLikeButton() {
- return getButtons().children[0];
+ return getButtons().children[0].tagName ===
+ "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
+ ? getButtons().children[0].children[0]
+ : getButtons().children[0];
}
function getLikeTextContainer() {
@@ -44,14 +47,24 @@ function getLikeTextContainer() {
}
function getDislikeButton() {
- return getButtons().children[1];
+ return getButtons().children[0].tagName ===
+ "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
+ ? getButtons().children[0].children[1]
+ : getButtons().children[1];
}
function getDislikeTextContainer() {
- return (
+ let result =
getDislikeButton().querySelector("#text") ??
- getDislikeButton().getElementsByTagName("yt-formatted-string")[0]
- );
+ getDislikeButton().getElementsByTagName("yt-formatted-string")[0];
+ if (result == null) {
+ let textSpan = document.createElement("span");
+ textSpan.id = "text";
+ getDislikeButton().querySelector("button").appendChild(textSpan);
+ getDislikeButton().querySelector("button").style.width = "auto";
+ result = getDislikeButton().querySelector("#text");
+ }
+ return result;
}
function checkForSignInButton() {
diff --git a/Extensions/combined/src/events.js b/Extensions/combined/src/events.js
index 47d0bce..a7638dc 100644
--- a/Extensions/combined/src/events.js
+++ b/Extensions/combined/src/events.js
@@ -1,5 +1,5 @@
import { getBrowser, getVideoId, numberFormat, cLog } from "./utils";
-import { checkForSignInButton, getButtons } from "./buttons";
+import { checkForSignInButton, getButtons, getDislikeButton, getLikeButton } from './buttons';
import {
NEUTRAL_STATE,
LIKED_STATE,
@@ -83,12 +83,11 @@ function dislikeClicked() {
}
function addLikeDislikeEventListener() {
- const buttons = getButtons();
if (!window.returnDislikeButtonlistenersSet) {
- buttons.children[0].addEventListener("click", likeClicked);
- buttons.children[1].addEventListener("click", dislikeClicked);
- buttons.children[0].addEventListener("touchstart", likeClicked);
- buttons.children[1].addEventListener("touchstart", dislikeClicked);
+ getLikeButton().addEventListener("click", likeClicked);
+ getDislikeButton().addEventListener("click", dislikeClicked);
+ getLikeButton().addEventListener("touchstart", likeClicked);
+ getLikeButton().addEventListener("touchstart", dislikeClicked);
window.returnDislikeButtonlistenersSet = true;
}
}
diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js
index 24fa435..cda281b 100644
--- a/Extensions/combined/src/state.js
+++ b/Extensions/combined/src/state.js
@@ -97,7 +97,7 @@ function isLikesDisabled() {
);
}
return /^\D*$/.test(
- getButtons().children[0].querySelector("#text").innerText
+ getButtons().children[0].innerText
);
}
@@ -158,16 +158,22 @@ function setDislikes(dislikesCount) {
}
function getLikeCountFromButton() {
- if (isShorts()) {
- //Youtube Shorts don't work with this query. It's not nessecary; we can skip it and still see the results.
- //It should be possible to fix this function, but it's not critical to showing the dislike count.
- return false;
- }
- let likesStr = getLikeButton()
+ try {
+ if (isShorts()) {
+ //Youtube Shorts don't work with this query. It's not nessecary; we can skip it and still see the results.
+ //It should be possible to fix this function, but it's not critical to showing the dislike count.
+ return false;
+ }
+ let likesStr = getLikeButton()
.querySelector("yt-formatted-string#text")
.getAttribute("aria-label")
.replace(/\D/g, "");
- return likesStr.length > 0 ? parseInt(likesStr) : false;
+ return likesStr.length > 0 ? parseInt(likesStr) : false;
+ }
+ catch {
+ return false;
+ }
+
}
function processResponse(response, storedData) {