Greasy Fork is available in English.
Hides reviews with under a certain amount of stars.
- // ==UserScript==// @name RateYourMusic - No Negative Reviews// @description Hides reviews with under a certain amount of stars.// @version 1.0.0// @grant none// @namespace petracoding// @include https://rateyourmusic.com/*// @include http://rateyourmusic.com/*// ==/UserScript==// OPTIONS:const minRatingToShow = 6; // in half stars. 1 full star = 2. 5 full stars = 10. Example: minRating = 6 means at least 3 starsconst alsoHideBadCatalogLines = true;// Bonus:const hideRatingCompletelyWhenBad = true;const hideListsWhenBad = true;const hideCommentsWhenBad = true;const hideDiscussionWhenBad = true;// SCRIPT:addEventListener("DOMContentLoaded", () => {hideReviews();[...document.querySelectorAll("[onclick]")].forEach((onC) => {onC.addEventListener("click", () => {setTimeout(() => {hideReviews();}, 500);setTimeout(() => {hideReviews();}, 1000);});});if (hideRatingCompletelyWhenBad || hideListsWhenBad || hideCommentsWhenBad) {const avgRatingEl = document.querySelector(".section_main_info .avg_rating");if (avgRatingEl) {const rating = parseInt(avgRatingEl.innerHTML.trim());if (rating < minRatingToShow) {if (hideRatingCompletelyWhenBad) {avgRatingEl.innerHTML = "?";const ratingStatsEl = document.querySelector(".catalog_stats");if (ratingStatsEl) ratingStatsEl.style.display = "none";}if (hideListsWhenBad) {const listsEl = document.querySelector(".section_lists");if (listsEl) listsEl.style.display = "none";}if (hideCommentsWhenBad) {const commentsEl = document.querySelector(".section_comments");if (commentsEl) commentsEl.style.display = "none";}if (hideDiscussionWhenBad) {const discussionEl = document.querySelector(".page_object_section_discussion");if (discussionEl) discussionEl.style.display = "none";}}}}});function hideReviews() {const cssSelector = alsoHideBadCatalogLines ? ".section_reviews .review, .catalog_line" : ".section_reviews .review";const reviewElements = document.querySelectorAll(cssSelector);[...reviewElements].forEach((reviewEl) => {if (toHide(reviewEl)) {reviewEl.style.display = "none";}});}function toHide(reviewEl) {const ratingEl = reviewEl.querySelector(".review_rating img, .catalog_rating img");if (!ratingEl) return 99;const starAltText = ratingEl.getAttribute("alt");const rating = getRating(starAltText);if (rating < minRatingToShow) {return true;} else {return false;}}function getRating(text) {if (text.includes("0.5")) return 1;if (text.includes("1.0")) return 2;if (text.includes("1.5")) return 3;if (text.includes("2.0")) return 4;if (text.includes("2.5")) return 5;if (text.includes("3.0")) return 6;if (text.includes("3.5")) return 7;if (text.includes("4.0")) return 8;if (text.includes("4.5")) return 9;if (text.includes("5.0")) return 10;return 99;}