From 0db29c557f473bf5df1e0bc5dd020fd74c700784 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Thu, 21 Apr 2022 17:25:29 +0200 Subject: Feature #211 dirty implementation --- Extensions/combined/src/bar.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index dbd4c68..dfdcf87 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -13,6 +13,21 @@ function createRateBar(likes, dislikes) { const widthPercent = likes + dislikes > 0 ? (likes / (likes + dislikes)) * 100 : 50; + var likePercentage = Math.round(widthPercent.toFixed(1)); + const dislikePercentage = (100 - likePercentage).toLocaleString(); + likePercentage = likePercentage.toLocaleString(); + const tooltipPercentageDisplayModes = { + "classic": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`, + "dash_like": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%`, + "dash_dislike": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%`, + "both": `${likePercentage}% / ${dislikePercentage}%`, + "only_like": `${likePercentage}%`, + "only_dislike": `${dislikePercentage}%` + }; + + const tooltipOption = "both"; + + if (!rateBar && !isMobile()) { let colorLikeStyle = ""; let colorDislikeStyle = ""; @@ -40,7 +55,7 @@ function createRateBar(likes, dislikes) { - ${likes.toLocaleString()} / ${dislikes.toLocaleString()} + ${tooltipPercentageDisplayModes[tooltipOption]} ` @@ -50,7 +65,7 @@ function createRateBar(likes, dislikes) { document.getElementById("ryd-bar").style.width = widthPercent + "%"; document.querySelector( "#ryd-dislike-tooltip > #tooltip" - ).innerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`; + ).innerHTML = tooltipPercentageDisplayModes[tooltipOption]; if (extConfig.coloredBar) { document.getElementById("ryd-bar-container").style.backgroundColor = getColorFromTheme(false); -- cgit v1.2.3 From 50466e2a2b9fcdb8bbc13fd29f760e6bfbdeb07f Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Thu, 21 Apr 2022 18:45:42 +0200 Subject: Implement feature #211 --- Extensions/combined/popup.css | 3 +- Extensions/combined/popup.html | 28 +++++++++++++++++ Extensions/combined/popup.js | 66 ++++++++++++++++++++++++++++++++++++++++ Extensions/combined/src/bar.js | 7 +++-- Extensions/combined/src/state.js | 24 +++++++++++++++ 5 files changed, 125 insertions(+), 3 deletions(-) diff --git a/Extensions/combined/popup.css b/Extensions/combined/popup.css index dfe94cb..e266d5e 100644 --- a/Extensions/combined/popup.css +++ b/Extensions/combined/popup.css @@ -15,7 +15,8 @@ html, body { background-color: var(--background); color: var(--white); - min-width: 300px; + min-width: 305px; + min-height: 305px; padding: 0.5em; font-family: "Roboto", Arial, Helvetica, sans-serif; font-size: 14px; diff --git a/Extensions/combined/popup.html b/Extensions/combined/popup.html index aa2d6a8..b11fe7e 100644 --- a/Extensions/combined/popup.html +++ b/Extensions/combined/popup.html @@ -160,6 +160,34 @@ >  +
+ +
+ + + + 190 / 10  -  95% + +
diff --git a/Extensions/combined/popup.js b/Extensions/combined/popup.js index 83ee423..7fe19e9 100644 --- a/Extensions/combined/popup.js +++ b/Extensions/combined/popup.js @@ -1,3 +1,5 @@ +import { cLog } from "./src/utils"; + /* Config */ const config = { advanced: false, @@ -7,6 +9,8 @@ const config = { colorTheme: "classic", numberDisplayFormat: "compactShort", numberDisplayRoundDown: true, + showTooltipPercentage: false, + tooltipPercentageMode: "dash_like", showAdvancedMessage: '', hideAdvancedMessage: @@ -83,6 +87,15 @@ document.getElementById("number_format").addEventListener("change", (ev) => { chrome.storage.sync.set({ numberDisplayFormat: ev.target.value }); }); +document.getElementById("show_tooltip_percentage").addEventListener("click", (ev) => { + chrome.storage.sync.set({ showTooltipPercentage: ev.target.checked }); +}); + +document.getElementById("tooltip_percentage_mode").addEventListener("change", (ev) => { + chrome.storage.sync.set({ tooltipPercentageMode: ev.target.value }); + updateTooltipPercentageModePreviewContent(ev.target.value); +}); + /* Advanced Toggle */ const advancedToggle = document.getElementById("advancedToggle"); advancedToggle.addEventListener("click", () => { @@ -112,6 +125,8 @@ function initConfig() { initializeColorTheme(); initializeNumberDisplayFormat(); initializeNumberDisplayRoundDown(); + initializeTooltipPercentage(); + initializeTooltipPercentageMode(); } function initializeVersionNumber() { @@ -182,6 +197,18 @@ function initializeNumberDisplayRoundDown() { }); } +function initializeTooltipPercentage(){ + chrome.storage.sync.get(["showTooltipPercentage"], (res) => { + handleShowTooltipPercentageChangeEvent(res.showTooltipPercentage); + }); +}; + +function initializeTooltipPercentageMode() { + chrome.storage.sync.get(["tooltipPercentageMode"], (res) => { + handleTooltipPercentageModeChangeEvent(res.tooltipPercentageMode); + }); +}; + function initializeNumberDisplayFormat() { chrome.storage.sync.get(["numberDisplayFormat"], (res) => { handleNumberDisplayFormatChangeEvent(res.numberDisplayFormat); @@ -229,6 +256,9 @@ function storageChangeHandler(changes, area) { if (changes.numberDisplayFormat !== undefined) { handleNumberDisplayFormatChangeEvent(changes.numberDisplayFormat.newValue); } + if (changes.showTooltipPercentage !== undefined) { + handleShowTooltipPercentageChangeEvent(changes.showTooltipPercentage.newValue); + } } function handleDisableVoteSubmissionChangeEvent(value) { @@ -276,6 +306,42 @@ function handleNumberDisplayFormatChangeEvent(value) { .querySelector('option[value="' + value + '"]').selected = true; } +function handleShowTooltipPercentageChangeEvent(value) { + config.showTooltipPercentage = value; + document.getElementById("show_tooltip_percentage").checked = value; +}; + +function handleTooltipPercentageModeChangeEvent(value) { + if (!value) { + value = "dash_like"; + } + config.tooltipPercentageMode = value; + + document + .getElementById("tooltip_percentage_mode") + .querySelector('option[value="' + value + '"]').selected = true; + updateTooltipPercentageModePreviewContent(value); +}; + +function updateTooltipPercentageModePreviewContent(modeName) { + switch (modeName) { + case "dash_dislike": + document.getElementById("percentage_mode_example").innerHTML = "190 / 10  -  5%"; + break; + case "both": + document.getElementById("percentage_mode_example").innerHTML = "95% / 5%"; + break; + case "only_like": + document.getElementById("percentage_mode_example").innerHTML = "95%"; + break; + case "only_dislike": + document.getElementById("percentage_mode_example").innerHTML = "5%"; + break; + default: + document.getElementById("percentage_mode_example").innerHTML = "190 / 10  -  95%"; + }; +} + function getNumberFormatter(optionSelect) { let formatterNotation; let formatterCompactDisplay; diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index dfdcf87..3e8dfe7 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -13,7 +13,7 @@ function createRateBar(likes, dislikes) { const widthPercent = likes + dislikes > 0 ? (likes / (likes + dislikes)) * 100 : 50; - var likePercentage = Math.round(widthPercent.toFixed(1)); + var likePercentage = parseFloat(widthPercent.toFixed(1)); const dislikePercentage = (100 - likePercentage).toLocaleString(); likePercentage = likePercentage.toLocaleString(); const tooltipPercentageDisplayModes = { @@ -25,7 +25,10 @@ function createRateBar(likes, dislikes) { "only_dislike": `${dislikePercentage}%` }; - const tooltipOption = "both"; + var tooltipOption = "classic"; + if (extConfig.showTooltipPercentage) { + tooltipOption = extConfig.tooltipPercentageMode; + }; if (!rateBar && !isMobile()) { diff --git a/Extensions/combined/src/state.js b/Extensions/combined/src/state.js index 6a85e8c..2fd09e7 100644 --- a/Extensions/combined/src/state.js +++ b/Extensions/combined/src/state.js @@ -24,6 +24,8 @@ let extConfig = { colorTheme: "classic", numberDisplayFormat: "compactShort", numberDisplayRoundDown: true, + showTooltipPercentage: false, + tooltipPercentageMode: "dash_like", }; let storedData = { @@ -171,6 +173,8 @@ function initExtConfig() { initializeColorTheme(); initializeNumberDisplayFormat(); initializeNumberDisplayRoundDown(); + initializeTooltipPercentage(); + initializeTooltipPercentageMode(); } function initializeDisableVoteSubmission() { @@ -233,6 +237,26 @@ function initializeNumberDisplayFormat() { }); } +function initializeTooltipPercentage() { + getBrowser().storage.sync.get(["showTooltipPercentage"], (res) => { + if (res.showTooltipPercentage === undefined) { + getBrowser().storage.sync.set({ showTooltipPercentage: false }); + } else { + extConfig.showTooltipPercentage = res.showTooltipPercentage; + } + }); +} + +function initializeTooltipPercentageMode() { + getBrowser().storage.sync.get(["tooltipPercentageMode"], (res) => { + if (res.tooltipPercentageMode === undefined) { + getBrowser().storage.sync.set({ tooltipPercentageMode: "dash_like" }); + } else { + extConfig.tooltipPercentageMode = res.tooltipPercentageMode; + } + }); +} + export { isMobile, isShorts, -- cgit v1.2.3 From 99820823bf0d470b1297cca42a93f32a50c3b78a Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Fri, 22 Apr 2022 16:21:20 +0200 Subject: Feature #221 remove tooltipPercentage example el --- Extensions/combined/popup.html | 22 +++++----------------- Extensions/combined/popup.js | 21 --------------------- 2 files changed, 5 insertions(+), 38 deletions(-) diff --git a/Extensions/combined/popup.html b/Extensions/combined/popup.html index b11fe7e..eb8ea1b 100644 --- a/Extensions/combined/popup.html +++ b/Extensions/combined/popup.html @@ -169,24 +169,12 @@
- - 190 / 10  -  95% -
diff --git a/Extensions/combined/popup.js b/Extensions/combined/popup.js index 7fe19e9..8bb96c0 100644 --- a/Extensions/combined/popup.js +++ b/Extensions/combined/popup.js @@ -93,7 +93,6 @@ document.getElementById("show_tooltip_percentage").addEventListener("click", (ev document.getElementById("tooltip_percentage_mode").addEventListener("change", (ev) => { chrome.storage.sync.set({ tooltipPercentageMode: ev.target.value }); - updateTooltipPercentageModePreviewContent(ev.target.value); }); /* Advanced Toggle */ @@ -320,28 +319,8 @@ function handleTooltipPercentageModeChangeEvent(value) { document .getElementById("tooltip_percentage_mode") .querySelector('option[value="' + value + '"]').selected = true; - updateTooltipPercentageModePreviewContent(value); }; -function updateTooltipPercentageModePreviewContent(modeName) { - switch (modeName) { - case "dash_dislike": - document.getElementById("percentage_mode_example").innerHTML = "190 / 10  -  5%"; - break; - case "both": - document.getElementById("percentage_mode_example").innerHTML = "95% / 5%"; - break; - case "only_like": - document.getElementById("percentage_mode_example").innerHTML = "95%"; - break; - case "only_dislike": - document.getElementById("percentage_mode_example").innerHTML = "5%"; - break; - default: - document.getElementById("percentage_mode_example").innerHTML = "190 / 10  -  95%"; - }; -} - function getNumberFormatter(optionSelect) { let formatterNotation; let formatterCompactDisplay; -- cgit v1.2.3 From 1be4ac485c77793674c5fb1a944040a6b83ec014 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Fri, 22 Apr 2022 16:56:23 +0200 Subject: Implement #211 in UserScript --- .../UserScript/Return Youtube Dislike.user.js | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 9961734..da52731 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -29,6 +29,9 @@ let previousState = 3; //1=LIKED, 2=DISLIKED, 3=NEUTRAL let likesvalue = 0; let dislikesvalue = 0; +// Temporary user config variable until better solution is found: +var tooltipPercentageDisplayOption = "classic"; // classic ; dash_like ; dash_dislike ; both ; only_like ; only_dislike + let isMobile = location.hostname == "m.youtube.com"; let isShorts = () => location.pathname.startsWith("/shorts"); let mobileDislikes = 0; @@ -204,6 +207,23 @@ function createRateBar(likes, dislikes) { const widthPercent = likes + dislikes > 0 ? (likes / (likes + dislikes)) * 100 : 50; + var likePercentage = parseFloat(widthPercent.toFixed(1)); + const dislikePercentage = (100 - likePercentage).toLocaleString(); + likePercentage = likePercentage.toLocaleString(); + const tooltipPercentageDisplayModes = { + "classic": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`, + "dash_like": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%`, + "dash_dislike": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%`, + "both": `${likePercentage}% / ${dislikePercentage}%`, + "only_like": `${likePercentage}%`, + "only_dislike": `${dislikePercentage}%` + }; + + if (tooltipPercentageDisplayModes[tooltipPercentageDisplayOption] === undefined) { + tooltipPercentageDisplayOption = "classic"; + }; + + if (!rateBar && !isMobile) { document.getElementById("menu-container").insertAdjacentHTML( "beforeend", @@ -221,7 +241,7 @@ function createRateBar(likes, dislikes) { - ${likes.toLocaleString()} / ${dislikes.toLocaleString()} + ${tooltipPercentageDisplayModes[tooltipPercentageDisplayOption]} ` @@ -235,7 +255,7 @@ function createRateBar(likes, dislikes) { document.querySelector( "#ryd-dislike-tooltip > #tooltip" - ).innerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`; + ).innerHTML = tooltipPercentageDisplayModes[tooltipPercentageDisplayOption]; } } -- cgit v1.2.3 From 3f465cffed8132207a001abc0a809a4d0153f62e Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Fri, 22 Apr 2022 17:12:58 +0200 Subject: Feature #211 fix whitespace in UserScript --- Extensions/UserScript/Return Youtube Dislike.user.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index da52731..1d44b42 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -241,7 +241,7 @@ function createRateBar(likes, dislikes) { - ${tooltipPercentageDisplayModes[tooltipPercentageDisplayOption]} + ${tooltipPercentageDisplayModes[tooltipPercentageDisplayOption]} ` -- cgit v1.2.3 From 1057036600c8e3ee0a039fc7967df6e567796a09 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Sat, 23 Apr 2022 14:32:18 +0200 Subject: Feat #211 UserScript mirror extConfig from pull 540 --- .../UserScript/Return Youtube Dislike.user.js | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 1d44b42..d7249a1 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -22,6 +22,23 @@ // @grant GM_addStyle // @run-at document-end // ==/UserScript== + +const extConfig = { +// BEGIN USER OPTIONS +// You may change the following variables to allowed values listed in the corresponding brackets (* means default). Keep the style and keywords intact. + showUpdatePopup: false, // [true, false*] Show a popup tab after extension update (See what's new) + disableVoteSubmission: false, // [true, false*] Disable like/dislike submission (Stops counting your likes and dislikes) + coloredThumbs: false, // [true, false*] Colorize thumbs (Use custom colors for thumb icons) + coloredBar: false, // [true, false*] Colorize ratio bar (Use custom colors for ratio bar) + colorTheme: "classic", // [classic*, accessible, neon] Color theme (red/green, blue/yellow, pink/cyan) + numberDisplayFormat: "compactShort", // [compactShort*, compactLong, standard] Number format (For non-English locale users, you may be able to improve appearance with a different option. Please file a feature request if your locale is not covered) + numberDisplayRoundDown: true, // [true*, false] Round down numbers (Show rounded down numbers) + + // READING THIS ^ INFO IS NOT IMPLEMENTED HERE (LOOK AT PULL REQUEST #540) + tooltipPercentageDisplayOption: "classic", // [classic*, dash_like, dash_dislike, both, only_like, only_dislike] Mode of showing percentage in like/dislike bar tooltip. +// END USER OPTIONS +}; + const LIKED_STATE = "LIKED_STATE"; const DISLIKED_STATE = "DISLIKED_STATE"; const NEUTRAL_STATE = "NEUTRAL_STATE"; @@ -29,9 +46,6 @@ let previousState = 3; //1=LIKED, 2=DISLIKED, 3=NEUTRAL let likesvalue = 0; let dislikesvalue = 0; -// Temporary user config variable until better solution is found: -var tooltipPercentageDisplayOption = "classic"; // classic ; dash_like ; dash_dislike ; both ; only_like ; only_dislike - let isMobile = location.hostname == "m.youtube.com"; let isShorts = () => location.pathname.startsWith("/shorts"); let mobileDislikes = 0; @@ -219,8 +233,8 @@ function createRateBar(likes, dislikes) { "only_dislike": `${dislikePercentage}%` }; - if (tooltipPercentageDisplayModes[tooltipPercentageDisplayOption] === undefined) { - tooltipPercentageDisplayOption = "classic"; + if (tooltipPercentageDisplayModes[extConfig.tooltipPercentageDisplayOption] === undefined) { + extConfig.tooltipPercentageDisplayOption = "classic"; }; @@ -241,7 +255,7 @@ function createRateBar(likes, dislikes) { - ${tooltipPercentageDisplayModes[tooltipPercentageDisplayOption]} + ${tooltipPercentageDisplayModes[extConfig.tooltipPercentageDisplayOption]} ` @@ -255,7 +269,7 @@ function createRateBar(likes, dislikes) { document.querySelector( "#ryd-dislike-tooltip > #tooltip" - ).innerHTML = tooltipPercentageDisplayModes[tooltipPercentageDisplayOption]; + ).innerHTML = tooltipPercentageDisplayModes[extConfig.tooltipPercentageDisplayOption]; } } -- cgit v1.2.3 From 1db5bf3aad879936bf0e3a24eeebf40287df6b57 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Sat, 23 Apr 2022 15:36:32 +0200 Subject: Feat #211 update val name in extConfig --- Extensions/UserScript/Return Youtube Dislike.user.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index d7249a1..e9bc71c 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -35,7 +35,7 @@ const extConfig = { numberDisplayRoundDown: true, // [true*, false] Round down numbers (Show rounded down numbers) // READING THIS ^ INFO IS NOT IMPLEMENTED HERE (LOOK AT PULL REQUEST #540) - tooltipPercentageDisplayOption: "classic", // [classic*, dash_like, dash_dislike, both, only_like, only_dislike] Mode of showing percentage in like/dislike bar tooltip. + tooltipPercentageDisplayOption: "none", // [none*, dash_like, dash_dislike, both, only_like, only_dislike] Mode of showing percentage in like/dislike bar tooltip. // END USER OPTIONS }; @@ -225,7 +225,7 @@ function createRateBar(likes, dislikes) { const dislikePercentage = (100 - likePercentage).toLocaleString(); likePercentage = likePercentage.toLocaleString(); const tooltipPercentageDisplayModes = { - "classic": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`, + "none": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`, "dash_like": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%`, "dash_dislike": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%`, "both": `${likePercentage}% / ${dislikePercentage}%`, @@ -234,7 +234,7 @@ function createRateBar(likes, dislikes) { }; if (tooltipPercentageDisplayModes[extConfig.tooltipPercentageDisplayOption] === undefined) { - extConfig.tooltipPercentageDisplayOption = "classic"; + extConfig.tooltipPercentageDisplayOption = "none"; }; -- cgit v1.2.3 From 7ce1b68a6418bd0cb0bcecacb7ff28b06faeebfd Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Sat, 23 Apr 2022 17:36:09 +0200 Subject: Feat #211 replace percentage display mode dict with switch --- .../UserScript/Return Youtube Dislike.user.js | 39 +++++++++++++--------- Extensions/combined/src/bar.js | 35 +++++++++++-------- 2 files changed, 46 insertions(+), 28 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index e9bc71c..c72ed52 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -35,7 +35,7 @@ const extConfig = { numberDisplayRoundDown: true, // [true*, false] Round down numbers (Show rounded down numbers) // READING THIS ^ INFO IS NOT IMPLEMENTED HERE (LOOK AT PULL REQUEST #540) - tooltipPercentageDisplayOption: "none", // [none*, dash_like, dash_dislike, both, only_like, only_dislike] Mode of showing percentage in like/dislike bar tooltip. + tooltipPercentageMode: "none", // [none*, dash_like, dash_dislike, both, only_like, only_dislike] Mode of showing percentage in like/dislike bar tooltip. // END USER OPTIONS }; @@ -224,18 +224,27 @@ function createRateBar(likes, dislikes) { var likePercentage = parseFloat(widthPercent.toFixed(1)); const dislikePercentage = (100 - likePercentage).toLocaleString(); likePercentage = likePercentage.toLocaleString(); - const tooltipPercentageDisplayModes = { - "none": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`, - "dash_like": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%`, - "dash_dislike": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%`, - "both": `${likePercentage}% / ${dislikePercentage}%`, - "only_like": `${likePercentage}%`, - "only_dislike": `${dislikePercentage}%` - }; - - if (tooltipPercentageDisplayModes[extConfig.tooltipPercentageDisplayOption] === undefined) { - extConfig.tooltipPercentageDisplayOption = "none"; - }; + + var tooltipInnerHTML; + switch (extConfig.tooltipPercentageMode) { + case "dash_like": + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%` + break; + case "dash_dislike": + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%` + break; + case "both": + tooltipInnerHTML = `${likePercentage}% / ${dislikePercentage}%` + break; + case "only_like": + tooltipInnerHTML = `${likePercentage}%` + break; + case "only_dislike": + tooltipInnerHTML = `${dislikePercentage}%` + break; + default: + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}` + } if (!rateBar && !isMobile) { @@ -255,7 +264,7 @@ function createRateBar(likes, dislikes) { - ${tooltipPercentageDisplayModes[extConfig.tooltipPercentageDisplayOption]} + ${tooltipInnerHTML} ` @@ -269,7 +278,7 @@ function createRateBar(likes, dislikes) { document.querySelector( "#ryd-dislike-tooltip > #tooltip" - ).innerHTML = tooltipPercentageDisplayModes[extConfig.tooltipPercentageDisplayOption]; + ).innerHTML = tooltipInnerHTML; } } diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index 3e8dfe7..3ebb30b 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -16,19 +16,28 @@ function createRateBar(likes, dislikes) { var likePercentage = parseFloat(widthPercent.toFixed(1)); const dislikePercentage = (100 - likePercentage).toLocaleString(); likePercentage = likePercentage.toLocaleString(); - const tooltipPercentageDisplayModes = { - "classic": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}`, - "dash_like": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%`, - "dash_dislike": `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%`, - "both": `${likePercentage}% / ${dislikePercentage}%`, - "only_like": `${likePercentage}%`, - "only_dislike": `${dislikePercentage}%` - }; - var tooltipOption = "classic"; if (extConfig.showTooltipPercentage) { - tooltipOption = extConfig.tooltipPercentageMode; - }; + var tooltipInnerHTML; + switch (extConfig.tooltipPercentageMode) { + case "dash_dislike": + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%` + break; + case "both": + tooltipInnerHTML = `${likePercentage}% / ${dislikePercentage}%` + break; + case "only_like": + tooltipInnerHTML = `${likePercentage}%` + break; + case "only_dislike": + tooltipInnerHTML = `${dislikePercentage}%` + break; + default: // dash_like + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%` + } + } else { + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}` + } if (!rateBar && !isMobile()) { @@ -58,7 +67,7 @@ function createRateBar(likes, dislikes) { - ${tooltipPercentageDisplayModes[tooltipOption]} + ${tooltipInnerHTML} ` @@ -68,7 +77,7 @@ function createRateBar(likes, dislikes) { document.getElementById("ryd-bar").style.width = widthPercent + "%"; document.querySelector( "#ryd-dislike-tooltip > #tooltip" - ).innerHTML = tooltipPercentageDisplayModes[tooltipOption]; + ).innerHTML = tooltipInnerHTML; if (extConfig.coloredBar) { document.getElementById("ryd-bar-container").style.backgroundColor = getColorFromTheme(false); -- cgit v1.2.3 From 002995f0b5c0c8bbe8ae8eab451ae4cfdf9ff8f5 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Tue, 26 Apr 2022 20:03:42 +0200 Subject: Feat #211 fix popup window size --- Extensions/combined/popup.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Extensions/combined/popup.css b/Extensions/combined/popup.css index e266d5e..5c51c9c 100644 --- a/Extensions/combined/popup.css +++ b/Extensions/combined/popup.css @@ -15,8 +15,8 @@ html, body { background-color: var(--background); color: var(--white); - min-width: 305px; - min-height: 305px; + min-width: 310px; + min-height: 350px; padding: 0.5em; font-family: "Roboto", Arial, Helvetica, sans-serif; font-size: 14px; -- cgit v1.2.3 From 49d62522b6fbe41d2f660e15ced180b76b3b5f08 Mon Sep 17 00:00:00 2001 From: Eryk Darnowski Date: Tue, 26 Apr 2022 20:08:19 +0200 Subject: Feat #211 fix whitespace --- .../UserScript/Return Youtube Dislike.user.js | 1033 ++++++++++---------- 1 file changed, 516 insertions(+), 517 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index d1c35c1..e280c82 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -24,564 +24,563 @@ // ==/UserScript== const extConfig = { - // BEGIN USER OPTIONS - // You may change the following variables to allowed values listed in the corresponding brackets (* means default). Keep the style and keywords intact. - showUpdatePopup: false, // [true, false*] Show a popup tab after extension update (See what's new) - disableVoteSubmission: false, // [true, false*] Disable like/dislike submission (Stops counting your likes and dislikes) - coloredThumbs: false, // [true, false*] Colorize thumbs (Use custom colors for thumb icons) - coloredBar: false, // [true, false*] Colorize ratio bar (Use custom colors for ratio bar) - colorTheme: "classic", // [classic*, accessible, neon] Color theme (red/green, blue/yellow, pink/cyan) - numberDisplayFormat: "compactShort", // [compactShort*, compactLong, standard] Number format (For non-English locale users, you may be able to improve appearance with a different option. Please file a feature request if your locale is not covered) - numberDisplayRoundDown: true, // [true*, false] Round down numbers (Show rounded down numbers) - tooltipPercentageMode: "none", // [none*, dash_like, dash_dislike, both, only_like, only_dislike] Mode of showing percentage in like/dislike bar tooltip. - numberDisplayReformatLikes: false, // [true, false*] Re-format like numbers (Make likes and dislikes format consistent) - // END USER OPTIONS - }; - - const LIKED_STATE = "LIKED_STATE"; - const DISLIKED_STATE = "DISLIKED_STATE"; - const NEUTRAL_STATE = "NEUTRAL_STATE"; - let previousState = 3; //1=LIKED, 2=DISLIKED, 3=NEUTRAL - let likesvalue = 0; - let dislikesvalue = 0; - - let isMobile = location.hostname == "m.youtube.com"; - let isShorts = () => location.pathname.startsWith("/shorts"); - let mobileDislikes = 0; - function cLog(text, subtext = "") { - subtext = subtext.trim() === "" ? "" : `(${subtext})`; - console.log(`[Return YouTube Dislikes] ${text} ${subtext}`); - } - - function isInViewport(element) { - const rect = element.getBoundingClientRect(); - const height = innerHeight || document.documentElement.clientHeight; - const width = innerWidth || document.documentElement.clientWidth; - return ( - rect.top >= 0 && - rect.left >= 0 && - rect.bottom <= height && - rect.right <= width +// BEGIN USER OPTIONS +// You may change the following variables to allowed values listed in the corresponding brackets (* means default). Keep the style and keywords intact. + showUpdatePopup: false, // [true, false*] Show a popup tab after extension update (See what's new) + disableVoteSubmission: false, // [true, false*] Disable like/dislike submission (Stops counting your likes and dislikes) + coloredThumbs: false, // [true, false*] Colorize thumbs (Use custom colors for thumb icons) + coloredBar: false, // [true, false*] Colorize ratio bar (Use custom colors for ratio bar) + colorTheme: "classic", // [classic*, accessible, neon] Color theme (red/green, blue/yellow, pink/cyan) + numberDisplayFormat: "compactShort", // [compactShort*, compactLong, standard] Number format (For non-English locale users, you may be able to improve appearance with a different option. Please file a feature request if your locale is not covered) + numberDisplayRoundDown: true, // [true*, false] Round down numbers (Show rounded down numbers) + tooltipPercentageMode: "none", // [none*, dash_like, dash_dislike, both, only_like, only_dislike] Mode of showing percentage in like/dislike bar tooltip. + numberDisplayReformatLikes: false, // [true, false*] Re-format like numbers (Make likes and dislikes format consistent) +// END USER OPTIONS +}; + +const LIKED_STATE = "LIKED_STATE"; +const DISLIKED_STATE = "DISLIKED_STATE"; +const NEUTRAL_STATE = "NEUTRAL_STATE"; +let previousState = 3; //1=LIKED, 2=DISLIKED, 3=NEUTRAL +let likesvalue = 0; +let dislikesvalue = 0; + +let isMobile = location.hostname == "m.youtube.com"; +let isShorts = () => location.pathname.startsWith("/shorts"); +let mobileDislikes = 0; +function cLog(text, subtext = "") { + subtext = subtext.trim() === "" ? "" : `(${subtext})`; + console.log(`[Return YouTube Dislikes] ${text} ${subtext}`); +} + +function isInViewport(element) { + const rect = element.getBoundingClientRect(); + const height = innerHeight || document.documentElement.clientHeight; + const width = innerWidth || document.documentElement.clientWidth; + return ( + rect.top >= 0 && + rect.left >= 0 && + rect.bottom <= height && + rect.right <= width + ); +} + +function getButtons() { + if (isShorts()) { + let elements = document.querySelectorAll( + isMobile + ? "ytm-like-button-renderer" + : "#like-button > ytd-like-button-renderer" ); - } - - function getButtons() { - if (isShorts()) { - let elements = document.querySelectorAll( - isMobile - ? "ytm-like-button-renderer" - : "#like-button > ytd-like-button-renderer" - ); - for (let element of elements) { - if (isInViewport(element)) { - return element; - } + for (let element of elements) { + if (isInViewport(element)) { + return element; } } - if (isMobile) { - return document.querySelector(".slim-video-action-bar-actions"); - } - if (document.getElementById("menu-container")?.offsetParent === null) { - return document.querySelector("ytd-menu-renderer.ytd-watch-metadata > div"); - } else { - return document - .getElementById("menu-container") - ?.querySelector("#top-level-buttons-computed"); - } } - - function getLikeButton() { - return getButtons().children[0]; + if (isMobile) { + return document.querySelector(".slim-video-action-bar-actions"); } - - function getDislikeButton() { - return getButtons().children[1]; + if (document.getElementById("menu-container")?.offsetParent === null) { + return document.querySelector("ytd-menu-renderer.ytd-watch-metadata > div"); + } else { + return document + .getElementById("menu-container") + ?.querySelector("#top-level-buttons-computed"); } - - let mutationObserver = new Object(); - - if (isShorts() && mutationObserver.exists !== true) { - cLog('initializing mutation observer') - mutationObserver.options = { - childList: false, - attributes: true, - subtree: false - }; - mutationObserver.exists = true; - mutationObserver.observer = new MutationObserver( function(mutationList, observer) { - mutationList.forEach( (mutation) => { - if (mutation.type === 'attributes' && - mutation.target.nodeName === 'TP-YT-PAPER-BUTTON' && - mutation.target.id === 'button') { - cLog('Short thumb button status changed'); - if (mutation.target.getAttribute('aria-pressed') === 'true') { - mutation.target.style.color = - (mutation.target.parentElement.parentElement.id === 'like-button') ? - getColorFromTheme(true) : getColorFromTheme(false); - } else { - mutation.target.style.color = 'unset'; - } - return; +} + +function getLikeButton() { + return getButtons().children[0]; +} + +function getDislikeButton() { + return getButtons().children[1]; +} + +let mutationObserver = new Object(); + +if (isShorts() && mutationObserver.exists !== true) { + cLog('initializing mutation observer') + mutationObserver.options = { + childList: false, + attributes: true, + subtree: false + }; + mutationObserver.exists = true; + mutationObserver.observer = new MutationObserver( function(mutationList, observer) { + mutationList.forEach( (mutation) => { + if (mutation.type === 'attributes' && + mutation.target.nodeName === 'TP-YT-PAPER-BUTTON' && + mutation.target.id === 'button') { + cLog('Short thumb button status changed'); + if (mutation.target.getAttribute('aria-pressed') === 'true') { + mutation.target.style.color = + (mutation.target.parentElement.parentElement.id === 'like-button') ? + getColorFromTheme(true) : getColorFromTheme(false); + } else { + mutation.target.style.color = 'unset'; } - cLog('unexpected mutation observer event: ' + mutation.target + mutation.type); - }); + return; + } + cLog('unexpected mutation observer event: ' + mutation.target + mutation.type); }); + }); +} + +function isVideoLiked() { + if (isMobile) { + return ( + getLikeButton().querySelector("button").getAttribute("aria-label") == + "true" + ); } - - function isVideoLiked() { - if (isMobile) { - return ( - getLikeButton().querySelector("button").getAttribute("aria-label") == - "true" - ); - } - return getLikeButton().classList.contains("style-default-active"); + return getLikeButton().classList.contains("style-default-active"); +} + +function isVideoDisliked() { + if (isMobile) { + return ( + getDislikeButton().querySelector("button").getAttribute("aria-label") == + "true" + ); } - - function isVideoDisliked() { - if (isMobile) { - return ( - getDislikeButton().querySelector("button").getAttribute("aria-label") == - "true" - ); - } - return getDislikeButton().classList.contains("style-default-active"); + return getDislikeButton().classList.contains("style-default-active"); +} + +function isVideoNotLiked() { + if (isMobile) { + return !isVideoLiked(); } - - function isVideoNotLiked() { - if (isMobile) { - return !isVideoLiked(); - } - return getLikeButton().classList.contains("style-text"); + return getLikeButton().classList.contains("style-text"); +} + +function isVideoNotDisliked() { + if (isMobile) { + return !isVideoDisliked(); } - - function isVideoNotDisliked() { - if (isMobile) { - return !isVideoDisliked(); - } - return getDislikeButton().classList.contains("style-text"); + return getDislikeButton().classList.contains("style-text"); +} + +function checkForUserAvatarButton() { + if (isMobile) { + return; } - - function checkForUserAvatarButton() { - if (isMobile) { - return; - } - if (document.querySelector("#avatar-btn")) { - return true; - } else { - return false; - } + if (document.querySelector("#avatar-btn")) { + return true; + } else { + return false; } - - function getState() { - if (isVideoLiked()) { - return LIKED_STATE; - } - if (isVideoDisliked()) { - return DISLIKED_STATE; - } - return NEUTRAL_STATE; +} + +function getState() { + if (isVideoLiked()) { + return LIKED_STATE; } - - function setLikes(likesCount) { - if (isMobile) { - getButtons().children[0].querySelector(".button-renderer-text").innerText = - likesCount; - return; - } - getButtons().children[0].querySelector("#text").innerText = likesCount; + if (isVideoDisliked()) { + return DISLIKED_STATE; } - - function setDislikes(dislikesCount) { - if (isMobile) { - mobileDislikes = dislikesCount; - return; - } - getButtons().children[1].querySelector("#text").innerText = dislikesCount; + return NEUTRAL_STATE; +} + +function setLikes(likesCount) { + if (isMobile) { + getButtons().children[0].querySelector(".button-renderer-text").innerText = + likesCount; + return; } - - 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; - } - let likesStr = getLikeButton() - .querySelector("button") - .getAttribute("aria-label") - .replace(/\D/g, ""); - return likesStr.length > 0 ? parseInt(likesStr) : false; + getButtons().children[0].querySelector("#text").innerText = likesCount; +} + +function setDislikes(dislikesCount) { + if (isMobile) { + mobileDislikes = dislikesCount; + return; } - - (typeof GM_addStyle != "undefined" - ? GM_addStyle - : (styles) => { - let styleNode = document.createElement("style"); - styleNode.type = "text/css"; - styleNode.innerText = styles; - document.head.appendChild(styleNode); - })(` - #return-youtube-dislike-bar-container { - background: var(--yt-spec-icon-disabled); - border-radius: 2px; - } - - #return-youtube-dislike-bar { - background: var(--yt-spec-text-primary); - border-radius: 2px; - transition: all 0.15s ease-in-out; - } - - .ryd-tooltip { - position: relative; - display: block; - height: 2px; - top: 9px; - } - - .ryd-tooltip-bar-container { - width: 100%; - height: 2px; - position: absolute; - padding-top: 6px; - padding-bottom: 28px; - top: -6px; - } - `); - - function createRateBar(likes, dislikes) { - if (isMobile) { - return; + getButtons().children[1].querySelector("#text").innerText = 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 0; + } + let likesStr = getLikeButton() + .querySelector("button") + .getAttribute("aria-label") + .replace(/\D/g, ""); + return likesStr.length > 0 ? parseInt(likesStr) : false; +} + +(typeof GM_addStyle != "undefined" + ? GM_addStyle + : (styles) => { + let styleNode = document.createElement("style"); + styleNode.type = "text/css"; + styleNode.innerText = styles; + document.head.appendChild(styleNode); + })(` + #return-youtube-dislike-bar-container { + background: var(--yt-spec-icon-disabled); + border-radius: 2px; + } + + #return-youtube-dislike-bar { + background: var(--yt-spec-text-primary); + border-radius: 2px; + transition: all 0.15s ease-in-out; } - let rateBar = document.getElementById("return-youtube-dislike-bar-container"); - - const widthPx = - getButtons().children[0].clientWidth + - getButtons().children[1].clientWidth + - 8; - - const widthPercent = - likes + dislikes > 0 ? (likes / (likes + dislikes)) * 100 : 50; - - var likePercentage = parseFloat(widthPercent.toFixed(1)); - const dislikePercentage = (100 - likePercentage).toLocaleString(); - likePercentage = likePercentage.toLocaleString(); - - var tooltipInnerHTML; - switch (extConfig.tooltipPercentageMode) { - case "dash_like": - tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%` + + .ryd-tooltip { + position: relative; + display: block; + height: 2px; + top: 9px; + } + + .ryd-tooltip-bar-container { + width: 100%; + height: 2px; + position: absolute; + padding-top: 6px; + padding-bottom: 28px; + top: -6px; + } + `); + +function createRateBar(likes, dislikes) { + if (isMobile) { + return; + } + let rateBar = document.getElementById("return-youtube-dislike-bar-container"); + + const widthPx = + getButtons().children[0].clientWidth + + getButtons().children[1].clientWidth + + 8; + + const widthPercent = + likes + dislikes > 0 ? (likes / (likes + dislikes)) * 100 : 50; + + var likePercentage = parseFloat(widthPercent.toFixed(1)); + const dislikePercentage = (100 - likePercentage).toLocaleString(); + likePercentage = likePercentage.toLocaleString(); + + var tooltipInnerHTML; + switch (extConfig.tooltipPercentageMode) { + case "dash_like": + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${likePercentage}%` + break; + case "dash_dislike": + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%` + break; + case "both": + tooltipInnerHTML = `${likePercentage}% / ${dislikePercentage}%` break; - case "dash_dislike": - tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}  -  ${dislikePercentage}%` + case "only_like": + tooltipInnerHTML = `${likePercentage}%` break; - case "both": - tooltipInnerHTML = `${likePercentage}% / ${dislikePercentage}%` - break; - case "only_like": - tooltipInnerHTML = `${likePercentage}%` - break; - case "only_dislike": - tooltipInnerHTML = `${dislikePercentage}%` - break; - default: - tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}` + case "only_dislike": + tooltipInnerHTML = `${dislikePercentage}%` + break; + default: + tooltipInnerHTML = `${likes.toLocaleString()} / ${dislikes.toLocaleString()}` + } + + + if (!rateBar && !isMobile) { + let colorLikeStyle = ""; + let colorDislikeStyle = ""; + if (extConfig.coloredBar) { + colorLikeStyle = "; background-color: " + getColorFromTheme(true); + colorDislikeStyle = "; background-color: " + getColorFromTheme(false); } - - - if (!rateBar && !isMobile) { - let colorLikeStyle = ""; - let colorDislikeStyle = ""; - if (extConfig.coloredBar) { - colorLikeStyle = "; background-color: " + getColorFromTheme(true); - colorDislikeStyle = "; background-color: " + getColorFromTheme(false); - } - - document.getElementById("menu-container").insertAdjacentHTML( - "beforeend", - ` -
-
-
-
-
-
- - ${tooltipInnerHTML} - -
- ` - ); - } else { - document.getElementById( - "return-youtube-dislike-bar-container" - ).style.width = widthPx + "px"; - document.getElementById("return-youtube-dislike-bar").style.width = - widthPercent + "%"; - - document.querySelector( - "#ryd-dislike-tooltip > #tooltip" - ).innerHTML = tooltipInnerHTML; - - if (extConfig.coloredBar) { - document.getElementById("return-youtube-dislike-bar-container").style.backgroundColor = - getColorFromTheme(false); - document.getElementById("return-youtube-dislike-bar").style.backgroundColor = - getColorFromTheme(true); - } + + document.getElementById("menu-container").insertAdjacentHTML( + "beforeend", + ` +
+
+
+
+
+
+ + ${tooltipInnerHTML} + +
+` + ); + } else { + document.getElementById( + "return-youtube-dislike-bar-container" + ).style.width = widthPx + "px"; + document.getElementById("return-youtube-dislike-bar").style.width = + widthPercent + "%"; + + document.querySelector( + "#ryd-dislike-tooltip > #tooltip" + ).innerHTML = tooltipInnerHTML; + + if (extConfig.coloredBar) { + document.getElementById("return-youtube-dislike-bar-container").style.backgroundColor = + getColorFromTheme(false); + document.getElementById("return-youtube-dislike-bar").style.backgroundColor = + getColorFromTheme(true); } } - - function setState() { - cLog("Fetching votes..."); - let statsSet = false; - - fetch( - `https://returnyoutubedislikeapi.com/votes?videoId=${getVideoId()}` - ).then((response) => { - response.json().then((json) => { - if (json && !("traceId" in response) && !statsSet) { - const { dislikes, likes } = json; - cLog(`Received count: ${dislikes}`); - likesvalue = likes; - dislikesvalue = dislikes; - setDislikes(numberFormat(dislikes)); - if (extConfig.numberDisplayReformatLikes === true) { - const nativeLikes = getLikeCountFromButton(); - if (nativeLikes !== false) { - setLikes(numberFormat(nativeLikes)); - } +} + +function setState() { + cLog("Fetching votes..."); + let statsSet = false; + + fetch( + `https://returnyoutubedislikeapi.com/votes?videoId=${getVideoId()}` + ).then((response) => { + response.json().then((json) => { + if (json && !("traceId" in response) && !statsSet) { + const { dislikes, likes } = json; + cLog(`Received count: ${dislikes}`); + likesvalue = likes; + dislikesvalue = dislikes; + setDislikes(numberFormat(dislikes)); + if (extConfig.numberDisplayReformatLikes === true) { + const nativeLikes = getLikeCountFromButton(); + if (nativeLikes !== false) { + setLikes(numberFormat(nativeLikes)); } - createRateBar(likes, dislikes); - if (extConfig.coloredThumbs === true) { - if (isShorts()) { // for shorts, leave deactived buttons in default color - let shortLikeButton = getLikeButton().querySelector('tp-yt-paper-button#button'); - let shortDislikeButton = getDislikeButton().querySelector('tp-yt-paper-button#button'); - if (shortLikeButton.getAttribute('aria-pressed') === 'true') { - shortLikeButton.style.color = getColorFromTheme(true); - } - if (shortDislikeButton.getAttribute('aria-pressed') === 'true') { - shortDislikeButton.style.color = getColorFromTheme(false); - } - mutationObserver.observer.observe(shortLikeButton, mutationObserver.options); - mutationObserver.observer.observe(shortDislikeButton, mutationObserver.options); - } else { - getLikeButton().style.color = getColorFromTheme(true); - getDislikeButton().style.color = getColorFromTheme(false); + } + createRateBar(likes, dislikes); + if (extConfig.coloredThumbs === true) { + if (isShorts()) { // for shorts, leave deactived buttons in default color + let shortLikeButton = getLikeButton().querySelector('tp-yt-paper-button#button'); + let shortDislikeButton = getDislikeButton().querySelector('tp-yt-paper-button#button'); + if (shortLikeButton.getAttribute('aria-pressed') === 'true') { + shortLikeButton.style.color = getColorFromTheme(true); + } + if (shortDislikeButton.getAttribute('aria-pressed') === 'true') { + shortDislikeButton.style.color = getColorFromTheme(false); } + mutationObserver.observer.observe(shortLikeButton, mutationObserver.options); + mutationObserver.observer.observe(shortDislikeButton, mutationObserver.options); + } else { + getLikeButton().style.color = getColorFromTheme(true); + getDislikeButton().style.color = getColorFromTheme(false); } } - }); - }); - } - - function likeClicked() { - if (checkForUserAvatarButton() == true) { - if (previousState == 1) { - likesvalue--; - createRateBar(likesvalue, dislikesvalue); - setDislikes(numberFormat(dislikesvalue)); - previousState = 3; - } else if (previousState == 2) { - likesvalue++; - dislikesvalue--; - setDislikes(numberFormat(dislikesvalue)); - createRateBar(likesvalue, dislikesvalue); - previousState = 1; - } else if (previousState == 3) { - likesvalue++; - createRateBar(likesvalue, dislikesvalue); - previousState = 1; } + }); + }); +} + +function likeClicked() { + if (checkForUserAvatarButton() == true) { + if (previousState == 1) { + likesvalue--; + createRateBar(likesvalue, dislikesvalue); + setDislikes(numberFormat(dislikesvalue)); + previousState = 3; + } else if (previousState == 2) { + likesvalue++; + dislikesvalue--; + setDislikes(numberFormat(dislikesvalue)); + createRateBar(likesvalue, dislikesvalue); + previousState = 1; + } else if (previousState == 3) { + likesvalue++; + createRateBar(likesvalue, dislikesvalue); + previousState = 1; } } - - function dislikeClicked() { - if (checkForUserAvatarButton() == true) { - if (previousState == 3) { - dislikesvalue++; - setDislikes(numberFormat(dislikesvalue)); - createRateBar(likesvalue, dislikesvalue); - previousState = 2; - } else if (previousState == 2) { - dislikesvalue--; - setDislikes(numberFormat(dislikesvalue)); - createRateBar(likesvalue, dislikesvalue); - previousState = 3; - } else if (previousState == 1) { - likesvalue--; - dislikesvalue++; - setDislikes(numberFormat(dislikesvalue)); - createRateBar(likesvalue, dislikesvalue); - previousState = 2; - } +} + +function dislikeClicked() { + if (checkForUserAvatarButton() == true) { + if (previousState == 3) { + dislikesvalue++; + setDislikes(numberFormat(dislikesvalue)); + createRateBar(likesvalue, dislikesvalue); + previousState = 2; + } else if (previousState == 2) { + dislikesvalue--; + setDislikes(numberFormat(dislikesvalue)); + createRateBar(likesvalue, dislikesvalue); + previousState = 3; + } else if (previousState == 1) { + likesvalue--; + dislikesvalue++; + setDislikes(numberFormat(dislikesvalue)); + createRateBar(likesvalue, dislikesvalue); + previousState = 2; } } - - function setInitialState() { - setState(); - } - - function getVideoId() { - const urlObject = new URL(window.location.href); - const pathname = urlObject.pathname; - if (pathname.startsWith("/clip")) { - return document.querySelector("meta[itemprop='videoId']").content; - } else { - if (pathname.startsWith("/shorts")) { - return pathname.slice(8); - } - return urlObject.searchParams.get("v"); +} + +function setInitialState() { + setState(); +} + +function getVideoId() { + const urlObject = new URL(window.location.href); + const pathname = urlObject.pathname; + if (pathname.startsWith("/clip")) { + return document.querySelector("meta[itemprop='videoId']").content; + } else { + if (pathname.startsWith("/shorts")) { + return pathname.slice(8); } + return urlObject.searchParams.get("v"); } - - function isVideoLoaded() { - if (isMobile) { - return document.getElementById("player").getAttribute("loading") == "false"; - } - const videoId = getVideoId(); - - return ( - document.querySelector(`ytd-watch-flexy[video-id='${videoId}']`) !== null - ); +} + +function isVideoLoaded() { + if (isMobile) { + return document.getElementById("player").getAttribute("loading") == "false"; } - - function roundDown(num) { - if (num < 1000) return num; - const int = Math.floor(Math.log10(num) - 2); - const decimal = int + (int % 3 ? 1 : 0); - const value = Math.floor(num / 10 ** decimal); - return value * 10 ** decimal; + const videoId = getVideoId(); + + return ( + document.querySelector(`ytd-watch-flexy[video-id='${videoId}']`) !== null + ); +} + +function roundDown(num) { + if (num < 1000) return num; + const int = Math.floor(Math.log10(num) - 2); + const decimal = int + (int % 3 ? 1 : 0); + const value = Math.floor(num / 10 ** decimal); + return value * 10 ** decimal; +} + +function numberFormat(numberState) { + let userLocales; + try { + userLocales = new URL( + Array.from(document.querySelectorAll("head > link[rel='search']")) + ?.find((n) => n?.getAttribute("href")?.includes("?locale=")) + ?.getAttribute("href") + )?.searchParams?.get("locale"); + } catch {} + + let numberDisplay; + if (extConfig.numberDisplayRoundDown === false) { + numberDisplay = numberState; + } else { + numberDisplay = roundDown(numberState); } - - function numberFormat(numberState) { - let userLocales; - try { - userLocales = new URL( - Array.from(document.querySelectorAll("head > link[rel='search']")) - ?.find((n) => n?.getAttribute("href")?.includes("?locale=")) - ?.getAttribute("href") - )?.searchParams?.get("locale"); - } catch {} - - let numberDisplay; - if (extConfig.numberDisplayRoundDown === false) { - numberDisplay = numberState; - } else { - numberDisplay = roundDown(numberState); - } - return getNumberFormatter(extConfig.numberDisplayFormat).format( - numberDisplay - ); + return getNumberFormatter(extConfig.numberDisplayFormat).format( + numberDisplay + ); +} + +function getNumberFormatter(optionSelect) { + let formatterNotation; + let formatterCompactDisplay; + + switch (optionSelect) { + case "compactLong": + formatterNotation = "compact"; + formatterCompactDisplay = "long"; + break; + case "standard": + formatterNotation = "standard"; + formatterCompactDisplay = "short"; + break; + case "compactShort": + default: + formatterNotation = "compact"; + formatterCompactDisplay = "short"; } - - function getNumberFormatter(optionSelect) { - let formatterNotation; - let formatterCompactDisplay; - - switch (optionSelect) { - case "compactLong": - formatterNotation = "compact"; - formatterCompactDisplay = "long"; - break; - case "standard": - formatterNotation = "standard"; - formatterCompactDisplay = "short"; - break; - case "compactShort": - default: - formatterNotation = "compact"; - formatterCompactDisplay = "short"; + + const formatter = Intl.NumberFormat( + document.documentElement.lang || userLocales || navigator.language, + { + notation: formatterNotation, + compactDisplay: formatterCompactDisplay, } - - const formatter = Intl.NumberFormat( - document.documentElement.lang || userLocales || navigator.language, - { - notation: formatterNotation, - compactDisplay: formatterCompactDisplay, + ); + return formatter; +} + +function getColorFromTheme(voteIsLike) { + let colorString; + switch (extConfig.colorTheme) { + case "accessible": + if (voteIsLike === true) { + colorString = "dodgerblue"; + } else { + colorString = "gold"; + } + break; + case "neon": + if (voteIsLike === true) { + colorString = "aqua"; + } else { + colorString = "magenta"; + } + break; + case "classic": + default: + if (voteIsLike === true) { + colorString = "lime"; + } else { + colorString = "red"; } - ); - return formatter; - } - - function getColorFromTheme(voteIsLike) { - let colorString; - switch (extConfig.colorTheme) { - case "accessible": - if (voteIsLike === true) { - colorString = "dodgerblue"; - } else { - colorString = "gold"; - } - break; - case "neon": - if (voteIsLike === true) { - colorString = "aqua"; - } else { - colorString = "magenta"; - } - break; - case "classic": - default: - if (voteIsLike === true) { - colorString = "lime"; - } else { - colorString = "red"; - } - } - return colorString; } - - function setEventListeners(evt) { - let jsInitChecktimer; - - function checkForJS_Finish(check) { - console.log(); - if (isShorts() || (getButtons()?.offsetParent && isVideoLoaded())) { - const buttons = getButtons(); - - if (!window.returnDislikeButtonlistenersSet) { - cLog("Registering button listeners..."); - try { - buttons.children[0].addEventListener("click", likeClicked); - buttons.children[1].addEventListener("click", dislikeClicked); - buttons.children[0].addEventListener("touchstart", likeClicked); - buttons.children[1].addEventListener("touchstart", dislikeClicked); - } catch { - return; - } //Don't spam errors into the console - window.returnDislikeButtonlistenersSet = true; - } - setInitialState(); - clearInterval(jsInitChecktimer); + return colorString; +} + +function setEventListeners(evt) { + let jsInitChecktimer; + + function checkForJS_Finish(check) { + console.log(); + if (isShorts() || (getButtons()?.offsetParent && isVideoLoaded())) { + const buttons = getButtons(); + + if (!window.returnDislikeButtonlistenersSet) { + cLog("Registering button listeners..."); + try { + buttons.children[0].addEventListener("click", likeClicked); + buttons.children[1].addEventListener("click", dislikeClicked); + buttons.children[0].addEventListener("touchstart", likeClicked); + buttons.children[1].addEventListener("touchstart", dislikeClicked); + } catch { + return; + } //Don't spam errors into the console + window.returnDislikeButtonlistenersSet = true; } + setInitialState(); + clearInterval(jsInitChecktimer); } - - cLog("Setting up..."); - jsInitChecktimer = setInterval(checkForJS_Finish, 111); - } - - (function () { - "use strict"; - window.addEventListener("yt-navigate-finish", setEventListeners, true); - setEventListeners(); - })(); - if (isMobile) { - let originalPush = history.pushState; - history.pushState = function (...args) { - window.returnDislikeButtonlistenersSet = false; - setEventListeners(args[2]); - return originalPush.apply(history, args); - }; - setInterval(() => { - getDislikeButton().querySelector(".button-renderer-text").innerText = - mobileDislikes; - }, 1000); } - \ No newline at end of file + + cLog("Setting up..."); + jsInitChecktimer = setInterval(checkForJS_Finish, 111); +} + +(function () { + "use strict"; + window.addEventListener("yt-navigate-finish", setEventListeners, true); + setEventListeners(); +})(); +if (isMobile) { + let originalPush = history.pushState; + history.pushState = function (...args) { + window.returnDislikeButtonlistenersSet = false; + setEventListeners(args[2]); + return originalPush.apply(history, args); + }; + setInterval(() => { + getDislikeButton().querySelector(".button-renderer-text").innerText = + mobileDislikes; + }, 1000); +} -- cgit v1.2.3 From fee5ed916ce37d1070305e1f1ebdba33b09166a0 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Tue, 3 May 2022 13:30:47 +0200 Subject: Bug fix (insertAdjacentHTML err when viewing shorts) --- Extensions/combined/src/bar.js | 88 +++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 43 deletions(-) diff --git a/Extensions/combined/src/bar.js b/Extensions/combined/src/bar.js index 578d12a..6267ce6 100644 --- a/Extensions/combined/src/bar.js +++ b/Extensions/combined/src/bar.js @@ -1,5 +1,5 @@ import { getButtons } from "./buttons"; -import { extConfig, isMobile, isLikesDisabled } from "./state"; +import { extConfig, isMobile, isLikesDisabled, isShorts } from "./state"; import { cLog, getColorFromTheme } from "./utils"; function createRateBar(likes, dislikes) { @@ -41,49 +41,51 @@ function createRateBar(likes, dislikes) { } - if (!rateBar && !isMobile()) { - let colorLikeStyle = ""; - let colorDislikeStyle = ""; - if (extConfig.coloredBar) { - colorLikeStyle = "; background-color: " + getColorFromTheme(true); - colorDislikeStyle = "; background-color: " + getColorFromTheme(false); - } + if (!isShorts()) { + if (!rateBar && !isMobile()) { + let colorLikeStyle = ""; + let colorDislikeStyle = ""; + if (extConfig.coloredBar) { + colorLikeStyle = "; background-color: " + getColorFromTheme(true); + colorDislikeStyle = "; background-color: " + getColorFromTheme(false); + } - ( - document.getElementById("menu-container") || - document.querySelector("ytm-slim-video-action-bar-renderer") - ).insertAdjacentHTML( - "beforeend", - ` -
-
-
-
-
-
- - ${tooltipInnerHTML} - -
- ` - ); - } else { - document.getElementById("ryd-bar-container").style.width = widthPx + "px"; - document.getElementById("ryd-bar").style.width = widthPercent + "%"; - document.querySelector( - "#ryd-dislike-tooltip > #tooltip" - ).innerHTML = tooltipInnerHTML; - if (extConfig.coloredBar) { - document.getElementById("ryd-bar-container").style.backgroundColor = - getColorFromTheme(false); - document.getElementById("ryd-bar").style.backgroundColor = - getColorFromTheme(true); + ( + document.getElementById("menu-container") || + document.querySelector("ytm-slim-video-action-bar-renderer") + ).insertAdjacentHTML( + "beforeend", + ` +
+
+
+
+
+
+ + ${tooltipInnerHTML} + +
+ ` + ); + } else { + document.getElementById("ryd-bar-container").style.width = widthPx + "px"; + document.getElementById("ryd-bar").style.width = widthPercent + "%"; + document.querySelector( + "#ryd-dislike-tooltip > #tooltip" + ).innerHTML = tooltipInnerHTML; + if (extConfig.coloredBar) { + document.getElementById("ryd-bar-container").style.backgroundColor = + getColorFromTheme(false); + document.getElementById("ryd-bar").style.backgroundColor = + getColorFromTheme(true); + } } } } else { -- cgit v1.2.3 From a5375bae2acb2aa551a77f414b93e7aa1e005234 Mon Sep 17 00:00:00 2001 From: ErykDarnowski Date: Wed, 4 May 2022 00:09:37 +0200 Subject: Feat #211 (implementation in ryd.background.js) --- Extensions/combined/ryd.background.js | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/Extensions/combined/ryd.background.js b/Extensions/combined/ryd.background.js index 75f22ae..c1f7e1c 100644 --- a/Extensions/combined/ryd.background.js +++ b/Extensions/combined/ryd.background.js @@ -277,6 +277,12 @@ function storageChangeHandler(changes, area) { changes.numberDisplayReformatLikes.newValue ); } + if (changes.showTooltipPercentage !== undefined) { + handleShowTooltipPercentageChangeEvent(changes.showTooltipPercentage.newValue); + } + if (changes.numberDisplayReformatLikes !== undefined) { + handleNumberDisplayReformatLikesChangeEvent(changes.numberDisplayReformatLikes.newValue); + } } function handleDisableVoteSubmissionChangeEvent(value) { @@ -292,6 +298,17 @@ function handleNumberDisplayFormatChangeEvent(value) { extConfig.numberDisplayFormat = value; } +function handleShowTooltipPercentageChangeEvent(value) { + extConfig.showTooltipPercentage = value; +}; + +function handleTooltipPercentageModeChangeEvent(value) { + if (!value) { + value = "dash_like"; + } + extConfig.tooltipPercentageMode = value; +}; + function handleNumberDisplayRoundDownChangeEvent(value) { extConfig.numberDisplayRoundDown = value; } @@ -333,6 +350,8 @@ function initExtConfig() { initializeNumberDisplayFormat(); initializeNumberDisplayRoundDown(); initializeNumberDisplayReformatLikes(); + initializeTooltipPercentage(); + initializeTooltipPercentageMode(); } function initializeDisableVoteSubmission() { @@ -396,6 +415,26 @@ function initializeNumberDisplayFormat() { }); } +function initializeTooltipPercentage() { + api.storage.sync.get(["showTooltipPercentage"], (res) => { + if (res.showTooltipPercentage === undefined) { + api.storage.sync.set({ showTooltipPercentage: false }); + } else { + extConfig.showTooltipPercentage = res.showTooltipPercentage; + } + }); +} + +function initializeTooltipPercentageMode() { + api.storage.sync.get(["tooltipPercentageMode"], (res) => { + if (res.tooltipPercentageMode === undefined) { + api.storage.sync.set({ tooltipPercentageMode: "dash_like" }); + } else { + extConfig.tooltipPercentageMode = res.tooltipPercentageMode; + } + }); +} + function initializeNumberDisplayReformatLikes() { api.storage.sync.get(["numberDisplayReformatLikes"], (res) => { if (res.numberDisplayReformatLikes === undefined) { -- cgit v1.2.3 From ef8b7c031011bb25678a941e8ae327e409c35fec Mon Sep 17 00:00:00 2001 From: Aneimytis <5927301+cyrildtm@users.noreply.github.com> Date: Tue, 26 Apr 2022 18:38:24 -0500 Subject: cherry pick #541 (prettify popup) prettify popup add scrollbar add hover fade-in animation --- Extensions/combined/popup.css | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Extensions/combined/popup.css b/Extensions/combined/popup.css index dfe94cb..721b73d 100644 --- a/Extensions/combined/popup.css +++ b/Extensions/combined/popup.css @@ -71,6 +71,8 @@ button:hover { .switch:before { content: attr(data-hover); visibility: hidden; + opacity: 0; + transition: visibility 0.1s linear, opacity 0.1s linear; width: 250px; background-color: var(--secondary); border-radius: 0.5rem; @@ -84,6 +86,24 @@ button:hover { .switch:hover:before { visibility: visible; + opacity: 1; +} + +.fade-in { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 2s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } } #advancedToggle { @@ -123,8 +143,28 @@ button:hover { border: 2px solid var(--secondary); border-radius: 0.5rem; padding: 1rem; + overflow-y: auto; + overflow-x: hidden; +} + +::-webkit-scrollbar { + width: 10px; +} + +::-webkit-scrollbar-track { + background: var(--background); +} + +/* Handle */ +::-webkit-scrollbar-thumb { + background: var(--tertiary); + border-radius: 10px; } +/* Handle on hover */ +::-webkit-scrollbar-thumb:hover { + background: var(--lightGrey); +} #advancedLegend { color: var(--tertiary) !important; /* margin: auto; */ /* Center the label */ -- cgit v1.2.3 From c67dfbc67bc70efd742e7b8f58d99cc0bbf75bd3 Mon Sep 17 00:00:00 2001 From: Aneimytis <5927301+cyrildtm@users.noreply.github.com> Date: Sun, 8 May 2022 00:25:57 -0500 Subject: Make popup scroll bar consistent with website use black/red color scheme and half-rounded shape --- Extensions/combined/popup.css | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Extensions/combined/popup.css b/Extensions/combined/popup.css index 721b73d..eaf82e3 100644 --- a/Extensions/combined/popup.css +++ b/Extensions/combined/popup.css @@ -148,23 +148,29 @@ button:hover { } ::-webkit-scrollbar { - width: 10px; + width: 1rem; } ::-webkit-scrollbar-track { - background: var(--background); + background: #111; /* color of the tracking area */ } - -/* Handle */ + ::-webkit-scrollbar-thumb { - background: var(--tertiary); - border-radius: 10px; + background-color: #333; /* color of the scroll thumb */ + border-radius: 1rem 0 0 1rem; /* roundness of the scroll thumb */ + border-bottom: 0.25rem solid #111; /* creates padding around scroll thumb */ + border-left: 0.25rem solid #111; /* creates padding around scroll thumb */ + border-top: 0.25rem solid #111; /* creates padding around scroll thumb */ } -/* Handle on hover */ ::-webkit-scrollbar-thumb:hover { - background: var(--lightGrey); + background-color: #f22; /* color of the scroll thumb */ + border-radius: 1rem 0 0 1rem; /* roundness of the scroll thumb */ + border-bottom: 0.25rem solid #111; /* creates padding around scroll thumb */ + border-left: 0.25rem solid #111; /* creates padding around scroll thumb */ + border-top: 0.25rem solid #111; /* creates padding around scroll thumb */ } + #advancedLegend { color: var(--tertiary) !important; /* margin: auto; */ /* Center the label */ -- cgit v1.2.3 From 4a09e311f89e6cb3f1fccbd9c6fce4b08f51ddf4 Mon Sep 17 00:00:00 2001 From: Aneimytis <5927301+cyrildtm@users.noreply.github.com> Date: Sun, 8 May 2022 00:41:33 -0500 Subject: add hover labels for select list label --- Extensions/combined/popup.css | 12 ++++++++++-- Extensions/combined/popup.html | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Extensions/combined/popup.css b/Extensions/combined/popup.css index eaf82e3..0dda34f 100644 --- a/Extensions/combined/popup.css +++ b/Extensions/combined/popup.css @@ -68,7 +68,7 @@ button:hover { border-radius: 0.25rem; } -.switch:before { +.switch:before, .label-with-hover-tip:before { content: attr(data-hover); visibility: hidden; opacity: 0; @@ -84,7 +84,7 @@ button:hover { top: 160%; } -.switch:hover:before { +.switch:hover:before, .label-with-hover-tip:hover:before { visibility: visible; opacity: 1; } @@ -188,6 +188,14 @@ button:hover { margin-bottom: 1rem; } +.label-with-hover-tip { + position: relative; + display: inline-block; + width: 80px; + height: 17px; + margin-bottom: 1rem; +} + .switch:last-of-type { margin-bottom: 0; } diff --git a/Extensions/combined/popup.html b/Extensions/combined/popup.html index 7d39246..1a51440 100644 --- a/Extensions/combined/popup.html +++ b/Extensions/combined/popup.html @@ -137,7 +137,7 @@
- + Re-format like numbers -- cgit v1.2.3 From 90dc03b3b5ba654c3d7c4c9769bcdbf8167a9952 Mon Sep 17 00:00:00 2001 From: sy-b <94835959+sy-b@users.noreply.github.com> Date: Wed, 11 May 2022 13:55:49 +0530 Subject: Changed textLikesDisabled to title case fixes #601 --- Extensions/combined/_locales/en/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/_locales/en/messages.json b/Extensions/combined/_locales/en/messages.json index 28c476c..0a0ddff 100644 --- a/Extensions/combined/_locales/en/messages.json +++ b/Extensions/combined/_locales/en/messages.json @@ -30,7 +30,7 @@ "message": "Disable like/dislike submission" }, "textLikesDisabled": { - "message": "disabled by owner" + "message": "Disabled by Owner" }, "textSettingsHover": { "message": "Stops counting your likes and dislikes." -- cgit v1.2.3 From 9554dfec8293960d2e70bd8c77ee0fd46e79ada7 Mon Sep 17 00:00:00 2001 From: sy-b <94835959+sy-b@users.noreply.github.com> Date: Wed, 11 May 2022 23:24:29 +0530 Subject: Changed to title case -> "Temporarily Unavailable" --- Extensions/combined/_locales/en/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Extensions/combined/_locales/en/messages.json b/Extensions/combined/_locales/en/messages.json index 0a0ddff..fc8c800 100644 --- a/Extensions/combined/_locales/en/messages.json +++ b/Extensions/combined/_locales/en/messages.json @@ -36,7 +36,7 @@ "message": "Stops counting your likes and dislikes." }, "textTempUnavailable": { - "message": "temporarily unavailable" + "message": "Temporarily Unavailable" }, "textUpdate": { "message": "update to" -- cgit v1.2.3 From 407d888fc5b760fe7781547b6c5a8ca2ee8e7f0e Mon Sep 17 00:00:00 2001 From: sheepstar02 Date: Mon, 16 May 2022 23:22:27 -0400 Subject: tiny changes --- Extensions/UserScript/Return Youtube Dislike.user.js | 2 +- Extensions/combined/popup.html | 2 +- Extensions/combined/popup.js | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Extensions/UserScript/Return Youtube Dislike.user.js b/Extensions/UserScript/Return Youtube Dislike.user.js index 476561b..53dc882 100644 --- a/Extensions/UserScript/Return Youtube Dislike.user.js +++ b/Extensions/UserScript/Return Youtube Dislike.user.js @@ -516,7 +516,7 @@ function getColorFromTheme(voteIsLike) { function setEventListeners(evt) { let jsInitChecktimer; - function checkForJS_Finish(check) { + function checkForJS_Finish() { console.log(); if (isShorts() || (getButtons()?.offsetParent && isVideoLoaded())) { const buttons = getButtons(); diff --git a/Extensions/combined/popup.html b/Extensions/combined/popup.html index 7d39246..86bc4c1 100644 --- a/Extensions/combined/popup.html +++ b/Extensions/combined/popup.html @@ -94,7 +94,7 @@ __MSG_legendSettings__ -