Restore like and dislike count for any Invidious Instance
// ==UserScript== // @name Invidious Like and Dislike Count // @namespace http://tampermonkey.net/ // @version 1.1 // @description Restore like and dislike count for any Invidious Instance // @author KMan005 // @match https://iv.ggtyler.dev/* // @grant GM_xmlhttpRequest // @license MIT // ==/UserScript== (function() { 'use strict'; // Get the video ID from the URL const urlParams = new URLSearchParams(window.location.search); const videoId = urlParams.get('v'); // Fetch the like and dislike count GM_xmlhttpRequest({ method: "GET", url: `https://returnyoutubedislikeapi.com/votes?videoId=${videoId}`, headers: { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9", "Pragma": "no-cache", "Cache-Control": "no-cache", "Connection": "keep-alive" }, onload: function(response) { const data = JSON.parse(response.responseText); const likeCount = data.likes; const dislikeCount = data.dislikes; // Display the like count on the webpage within the specified <p> element const likesElement = document.getElementById('likes'); likesElement.innerHTML = `<i class="icon ion-ios-thumbs-up"></i> ${likeCount}`; // Display the dislike count on the webpage within the specified <p> element const dislikesElement = document.getElementById('dislikes'); dislikesElement.textContent = `Dislikes: ${dislikeCount}`; // Ensure visibility and display properties stay consistent for both elements likesElement.style.visibility = 'visible'; likesElement.style.display = 'block'; dislikesElement.style.visibility = 'visible'; dislikesElement.style.display = 'block'; } }); // Apply CSS styles to the specified <p> elements const styleElement = document.createElement('style'); styleElement.textContent = ` p#likes, p#dislikes { display: block; visibility: visible; unicode-bidi: plaintext; text-align: start; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; overflow-wrap: break-word; word-wrap: break-word; font-family: sans-serif; } `; document.head.appendChild(styleElement); })();