Internet Archive Full Reviews

Display full reviews for items on archive.org

// ==UserScript==
// @name        Internet Archive Full Reviews
// @version     1.0.0
// @description Display full reviews for items on archive.org
// @include     https://archive.org/details/*
// @run-at      document-idle
// @grant       none
// @license     CC0
// @namespace https://greasyfork.org/users/1468843
// ==/UserScript==
 
// copyright / licence:   CC0 1.0 Universal (Public Domain)
 
// Run as an anonymous function so we can exit early if no "reviews" object exists
(function(){
 
if (! document.getElementById('reviews'))
    return;
 
// Show the list of reviews
var review_elements = document.getElementById("reviews").getElementsByClassName("details-reviews-list");
for (var i = 0; i < review_elements.length; i++)
    review_elements[i].style = "";
 
// Expand each review by showing the full review, hiding the preview, and hiding
// the button the minimise the expanded review
var reviews = document.getElementById("reviews").getElementsByClassName("aReview");
for (var i = 0; i < reviews.length; i++) {
    var previews = reviews[i].getElementsByClassName("truncated-msg");
    for (var j = 0; j < previews.length; j++)
        previews[j].style = "display: none";
    var remainders = reviews[i].getElementsByClassName("remainder");
    for (var j = 0; j < remainders.length; j++)
        remainders[j].style = "";
    var less_btn = reviews[i].getElementsByClassName("review-less-btn");
    for (var j = 0; j < less_btn.length; j++)
        less_btn[j].style = "display: none";
}
 
// Hide the button to expand the full reviews (since we've already done that!)
var display_buttons = document.getElementsByClassName("display-reviews-msg");
for (var i = 0; i < display_buttons.length; i++)
    display_buttons[i].style = "display: none";
 
})();