浏览代码

New YouTube UI fix for userscript and extension

Anarios 2 年之前
父节点
当前提交
5c73825aad

+ 14 - 13
Extensions/UserScript/Return Youtube Dislike.user.js

@@ -2,7 +2,7 @@
 // @name         Return YouTube Dislike
 // @namespace    https://www.returnyoutubedislike.com/
 // @homepage     https://www.returnyoutubedislike.com/
-// @version      3.1.1
+// @version      3.1.2
 // @encoding     utf-8
 // @description  Return of the YouTube Dislike, Based off https://www.returnyoutubedislike.com/
 // @icon         https://github.com/Anarios/return-youtube-dislike/raw/main/Icons/Return%20Youtube%20Dislike%20-%20Transparent.png
@@ -99,10 +99,17 @@ function getButtons() {
   }
 }
 
+function getDislikeButton() {
+  return getButtons().children[0].tagName ===
+  "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
+    ? getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1]
+    : getButtons().children[1];
+}
+
 function getLikeButton() {
   return getButtons().children[0].tagName ===
-    "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
-    ? getButtons().children[0].children[0]
+  "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
+    ? document.querySelector("#segmented-like-button") !== null ? document.querySelector("#segmented-like-button") : getButtons().children[0].children[0]
     : getButtons().children[0];
 }
 
@@ -114,12 +121,6 @@ function getLikeTextContainer() {
   );
 }
 
-function getDislikeButton() {
-  return getButtons().children[0].tagName ===
-    "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
-    ? getButtons().children[0].children[1]
-    : getButtons().children[1];
-}
 
 function getDislikeTextContainer() {
   let result =
@@ -635,10 +636,10 @@ function setEventListeners(evt) {
       if (!window.returnDislikeButtonlistenersSet) {
         cLog("Registering button listeners...");
         try {
-          buttons.children[0].children[0].addEventListener("click", likeClicked);
-          buttons.children[0].children[1].addEventListener("click", dislikeClicked);
-          buttons.children[0].children[0].addEventListener("touchstart", likeClicked);
-          buttons.children[0].children[1].addEventListener("touchstart", dislikeClicked);
+          getLikeButton().addEventListener("click", likeClicked);
+          getDislikeButton().addEventListener("click", dislikeClicked);
+          getLikeButton().addEventListener("touchstart", likeClicked);
+          getDislikeButton().addEventListener("touchstart", dislikeClicked);
         } catch {
           return;
         } //Don't spam errors into the console

+ 1 - 1
Extensions/combined/_locales/cs/messages.json

@@ -42,7 +42,7 @@
     "message": "aktualizovat na"
   },
   "version30installed": {
-    "message": "Verze 3.0.0.1 nainstalována"
+    "message": "Verze 3.0.0.9 nainstalována"
   },
   "whatsnew": {
     "message": "Co je nového"

+ 1 - 1
Extensions/combined/_locales/de/messages.json

@@ -36,7 +36,7 @@
     "message": "aktualisieren auf"
   },
   "version30installed": {
-    "message": "Version 3.0.0.1 installiert"
+    "message": "Version 3.0.0.9 installiert"
   },
   "whatsnew": {
     "message": "Was ist neu"

+ 1 - 1
Extensions/combined/_locales/el/messages.json

@@ -84,7 +84,7 @@
     "message": "Ενημέρωση σε"
   },
   "version30installed": {
-    "message": "Εκδοση 3.0.0.1 εγκαταστάθηκε"
+    "message": "Εκδοση 3.0.0.9 εγκαταστάθηκε"
   },
   "whatsnew": {
     "message": "Τί νέο υπάρχει"

+ 1 - 1
Extensions/combined/_locales/en/messages.json

@@ -84,7 +84,7 @@
     "message": "Update to"
   },
   "version30installed": {
-    "message": "Version 3.0.0.1 installed"
+    "message": "Version 3.0.0.9 installed"
   },
   "whatsnew": {
     "message": "What's new"

+ 1 - 1
Extensions/combined/_locales/es/messages.json

@@ -84,7 +84,7 @@
     "message": "actualizar a"
   },
   "version30installed": {
-    "message": "Versión 3.0.0.1 instalada"
+    "message": "Versión 3.0.0.9 instalada"
   },
   "whatsnew": {
     "message": "Novedades"

+ 1 - 1
Extensions/combined/_locales/fr/messages.json

@@ -42,7 +42,7 @@
     "message": "mettre à jour vers"
   },
   "version30installed": {
-    "message": "Version 3.0.0.1 installée"
+    "message": "Version 3.0.0.9 installée"
   },
   "whatsnew": {
     "message": "Quoi de neuf"

+ 1 - 1
Extensions/combined/_locales/it/messages.json

@@ -36,7 +36,7 @@
     "message": "aggiorna a"
   },
   "version30installed": {
-    "message": "Versione 3.0.0.1 installata"
+    "message": "Versione 3.0.0.9 installata"
   },
   "whatsnew": {
     "message": "Quali sono le novità"

+ 1 - 1
Extensions/combined/_locales/ja/messages.json

@@ -42,7 +42,7 @@
     "message": "アップデート:"
   },
   "version30installed": {
-    "message": "バージョン 3.0.0.1 がインストールされました。"
+    "message": "バージョン 3.0.0.9 がインストールされました。"
   },
   "whatsnew": {
     "message": "新機能"

+ 1 - 1
Extensions/combined/_locales/ko/messages.json

@@ -84,7 +84,7 @@
     "message": "업데이트"
   },
   "version30installed": {
-    "message": "3.0.0.1 버전이 설치됨"
+    "message": "3.0.0.9 버전이 설치됨"
   },
   "whatsnew": {
     "message": "새로운 점"

+ 1 - 2
Extensions/combined/_locales/nl/messages.json

@@ -84,7 +84,7 @@
       "message": "Update naar"
     },
     "version30installed": {
-      "message": "Versie 3.0.0.1 geïnstalleerd"
+      "message": "Versie 3.0.0.9 geïnstalleerd"
     },
     "whatsnew": {
       "message": "Wat is er nieuw"
@@ -132,4 +132,3 @@
       "message": "Kleuren thema:"
     }
   }
-  

+ 1 - 1
Extensions/combined/_locales/pt_BR/messages.json

@@ -42,7 +42,7 @@
     "message": "Atualizar para"
   },
   "version30installed": {
-    "message": "Versão 3.0.0.1 instalada"
+    "message": "Versão 3.0.0.9 instalada"
   },
   "whatsnew": {
     "message": "O que há de novo?"

+ 1 - 1
Extensions/combined/_locales/ru/messages.json

@@ -36,7 +36,7 @@
     "message": "обновление до"
   },
   "version30installed": {
-    "message": "Версия 3.0.0.1 установлена"
+    "message": "Версия 3.0.0.9 установлена"
   },
   "whatsnew": {
     "message": "Что нового"

+ 1 - 1
Extensions/combined/_locales/sv_SE/messages.json

@@ -84,7 +84,7 @@
     "message": "Uppdatera till"
   },
   "version30installed": {
-    "message": "Version 3.0.0.1 installerad"
+    "message": "Version 3.0.0.9 installerad"
   },
   "whatsnew": {
     "message": "Vad är nytt"

+ 1 - 1
Extensions/combined/_locales/tr/messages.json

@@ -84,7 +84,7 @@
     "message": "Şu sürüme güncelle"
   },
   "version30installed": {
-    "message": "Sürüm 3.0.0.1 yüklendi"
+    "message": "Sürüm 3.0.0.9 yüklendi"
   },
   "whatsnew": {
     "message": "Yeni Ne Var"

+ 1 - 1
Extensions/combined/_locales/uk/messages.json

@@ -84,7 +84,7 @@
     "message": "Оновлення до"
   },
   "version30installed": {
-    "message": "Версію 3.0.0.1 встановлено"
+    "message": "Версію 3.0.0.9 встановлено"
   },
   "whatsnew": {
     "message": "Що нового"

+ 1 - 1
Extensions/combined/manifest-chrome.json

@@ -2,7 +2,7 @@
   "name": "__MSG_extensionName__",
   "description": "__MSG_extensionDesc__",
   "default_locale": "en",
-  "version": "3.0.0.8",
+  "version": "3.0.0.9",
   "manifest_version": 3,
   "background": {
     "service_worker": "ryd.background.js"

+ 1 - 1
Extensions/combined/manifest-firefox.json

@@ -2,7 +2,7 @@
   "name": "__MSG_extensionName__",
   "description": "__MSG_extensionDesc__",
   "default_locale": "en",
-  "version": "3.0.0.8",
+  "version": "3.0.0.9",
   "manifest_version": 2,
   "background": {
     "scripts": ["ryd.background.js"]

+ 2 - 2
Extensions/combined/src/buttons.js

@@ -35,7 +35,7 @@ function getButtons() {
 function getLikeButton() {
   return getButtons().children[0].tagName ===
     "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
-    ? getButtons().children[0].children[0]
+    ? document.querySelector("#segmented-like-button") !== null ? document.querySelector("#segmented-like-button") : getButtons().children[0].children[0]
     : getButtons().children[0];
 }
 
@@ -50,7 +50,7 @@ function getLikeTextContainer() {
 function getDislikeButton() {
   return getButtons().children[0].tagName ===
     "YTD-SEGMENTED-LIKE-DISLIKE-BUTTON-RENDERER"
-    ? getButtons().children[0].children[1]
+    ? getButtons().children[0].children[1] === undefined ? document.querySelector("#segmented-dislike-button") : getButtons().children[0].children[1]
     : getButtons().children[1];
 }
 

+ 4 - 17
Extensions/combined/src/state.js

@@ -106,21 +106,19 @@ function isLikesDisabled() {
 function isVideoLiked() {
   if (isMobile()) {
     return (
-      getLikeButton().querySelector("button").getAttribute("aria-label") ==
-      "true"
+      getLikeButton().querySelector("button").getAttribute("aria-label") === "true"
     );
   }
-  return getLikeButton().classList.contains("style-default-active");
+  return getLikeButton().classList.contains("style-default-active") || getLikeButton().querySelector('button')?.getAttribute('aria-pressed') === 'true';
 }
 
 function isVideoDisliked() {
   if (isMobile()) {
     return (
-      getDislikeButton().querySelector("button").getAttribute("aria-label") ==
-      "true"
+      getDislikeButton().querySelector("button").getAttribute("aria-label") === "true"
     );
   }
-  return getDislikeButton().classList.contains("style-default-active");
+  return getDislikeButton().classList.contains("style-default-active") || getDislikeButton().querySelector('button')?.getAttribute('aria-pressed') === 'true';
 }
 
 function getState(storedData) {
@@ -152,17 +150,6 @@ function setDislikes(dislikesCount) {
     }
     getDislikeTextContainer().innerText = dislikesCount;
 
-    try {
-      let likeButton = document.querySelector("#segmented-like-button > ytd-toggle-button-renderer > yt-button-shape > button > div.cbox.yt-spec-button-shape-next--button-text-content > span")
-      let dislikeButton = document.querySelector("#segmented-dislike-button > ytd-toggle-button-renderer > yt-button-shape > button")
-      dislikeButton.appendChild(likeButton.cloneNode(true))
-      document.querySelector('#segmented-dislike-button > ytd-toggle-button-renderer > yt-button-shape > button').classList.remove('yt-spec-button-shape-next--icon-button')
-      dislikeButton.lastChild.textContent = dislikesCount
-    }
-    finally {
-      cLg("If you still don't see the dislike, please reach out to us on Github or Discord")
-    }
-    
   } else {
     cLog("likes count disabled by creator");
     if (isMobile()) {