Merge pull request #594 from cyrildtm/fixLikeUpdated

Fix like numbers re-format
This commit is contained in:
Dmitrii Selivanov
2022-07-20 00:06:45 +02:00
committed by GitHub
4 changed files with 30 additions and 5 deletions
@@ -204,10 +204,10 @@ 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 0;
return false;
}
let likesStr = getLikeButton()
.querySelector("button")
.querySelector("yt-formatted-string#text")
.getAttribute("aria-label")
.replace(/\D/g, "");
return likesStr.length > 0 ? parseInt(likesStr) : false;
@@ -399,6 +399,12 @@ function likeClicked() {
createRateBar(likesvalue, dislikesvalue);
previousState = 1;
}
if (extConfig.numberDisplayReformatLikes === true) {
const nativeLikes = getLikeCountFromButton();
if (nativeLikes !== false) {
setLikes(numberFormat(nativeLikes));
}
}
}
}
@@ -420,6 +426,12 @@ function dislikeClicked() {
setDislikes(numberFormat(dislikesvalue));
createRateBar(likesvalue, dislikesvalue);
previousState = 2;
if (extConfig.numberDisplayReformatLikes === true) {
const nativeLikes = getLikeCountFromButton();
if (nativeLikes !== false) {
setLikes(numberFormat(nativeLikes));
}
}
}
}
}
+1 -1
View File
@@ -108,7 +108,7 @@
<span class="switchLabel">Show rounded down numbers</span>
</label>
<br/>
<label class="switch" data-hover="Make likes and dislikes format consistent">
<label class="switch" data-hover="Make likes and dislikes format consistent (does not work on Shorts)">
<input type="checkbox" id="number_reformat_likes"/>
<span class="slider"/>
<span class="switchLabel">Re-format like numbers</span>
+13
View File
@@ -8,6 +8,7 @@ import {
extConfig,
storedData,
setLikes,
getLikeCountFromButton,
} from "./state";
import { createRateBar } from "./bar";
@@ -41,6 +42,12 @@ function likeClicked() {
createRateBar(storedData.likes, storedData.dislikes);
storedData.previousState = NEUTRAL_STATE;
}
if (extConfig.numberDisplayReformatLikes === true) {
const nativeLikes = getLikeCountFromButton();
if (nativeLikes !== false) {
setLikes(numberFormat(nativeLikes));
}
}
}
}
@@ -65,6 +72,12 @@ function dislikeClicked() {
setDislikes(numberFormat(storedData.dislikes));
createRateBar(storedData.likes, storedData.dislikes);
storedData.previousState = DISLIKED_STATE;
if (extConfig.numberDisplayReformatLikes === true) {
const nativeLikes = getLikeCountFromButton();
if (nativeLikes !== false) {
setLikes(numberFormat(nativeLikes));
}
}
}
}
}
+2 -2
View File
@@ -153,10 +153,10 @@ 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 0;
return false;
}
let likesStr = getLikeButton()
.querySelector("button")
.querySelector("yt-formatted-string#text")
.getAttribute("aria-label")
.replace(/\D/g, "");
return likesStr.length > 0 ? parseInt(likesStr) : false;