// ==UserScript==
// @name Quizlet Show Hidden Flashcards
// @namespace QuizletHack
// @version 0.0.11
// @description Show the hidden flashcards in Quizlet without logging in.
// @author hacker09
// @match *://quizlet.com/*
// @icon https://assets.quizlet.com/a/j/dist/i/favicon.6e263725c926227.ico
// @run-at document-end
// @grant none
// @downloadURL none
// ==/UserScript==
(async function() {
// @require https://greasyfork.org/scripts/21927-arrive-js/code/arrivejs.js
'use strict';
var TimesExecuted = 0; //Creates a new variable
var DisableReading = true; //If true the Reading function will be disabled
var RemoveNeedlessThings = true; //If true the Needless Things will be removed
window.onscroll = function() { //Creates a new function to run when the page is scrolled
TimesExecuted += 1; //Sum the amount of times that the page is scrolled
if (TimesExecuted === 15) { //On the first time that the page is scrolled
//Show all hidden elements and disable the reading function.
document.querySelectorAll("div.SetPageTerm.has-definitionText").forEach(function(FlashCards) { //For every FlashCard
FlashCards.className = "SetPageTerm has-definitionText is-showing"; //Change the FlashCard element class name so that the card is shown
if (DisableReading === true) //If the DisableReading variable is true
{ //Starts the if condition
FlashCards.innerHTML = FlashCards.innerHTML; //Remove the audio of the FlashCard element
} //Finishes the if condition
}); //Finishes the for condition
document.querySelector("div.SetPageTerm.has-definitionText").insertAdjacentHTML('beforebegin', '
(Showing ' + document.querySelectorAll("div.SetPageTerm.has-definitionText.is-showing").length + ' Terms)
'); //Show the number of shown terms
if (RemoveNeedlessThings === true) //If the RemoveNeedlessThings variable is true
{ //Starts the if condition
document.querySelector("footer").remove(); //Remove the needlessly big footer
document.querySelector("div.SetPage-content").remove(); //Remove the tags related to the quiz set
document.querySelector("div.SetPage-setDetailsInfoWrapper").remove(); //Remove the user name that created the quiz
document.querySelector("#TopNavigationReactTarget").remove(); //Remove the top blue navigation menu
document.head.insertAdjacentHTML('beforeend', ''); //Hide everything inside the "THIS SET IS OFTEN IN FOLDERS WITH..." box, and hide the "Sign up and see the remaining cards. It’s free!" box, and hide the big Flashcards in the top, and hide the Embedded Ad-wrapper div, and hide the star and voice btns
if (document.querySelector(".SetPageTermsStickyBanner.SetPageTermsStickyBanner--hasAdz") !== null) //If the Sign Up Box and the white overlay element exists
{ //Starts the if condition
document.querySelector(".SetPageTermsStickyBanner.SetPageTermsStickyBanner--hasAdz").remove(); //Remove the stick footer banner
document.querySelector("div.SetPageWall.SetPageWall--normal").remove(); //Remove the Sign Up Box and the white overlay above this box
} //Finishes the if condition
if (document.querySelector("div.SetPageStickyHeader.hgmlhdt") !== null) //If the top menu element exists
{ //Starts the if condition
document.querySelector("div.SetPageStickyHeader.hgmlhdt").remove(); //Remove the top menu
} //Finishes the if condition
if (document.querySelector("#UniversalUpsellTarget > div") !== null) //If the "save time with an expert" message element exists
{ //Starts the if condition
document.querySelector("#UniversalUpsellTarget > div").remove(); //Remove the "save time with an expert" message
} //Finishes the if condition
} //Finishes the if condition
} // //Finishes the if condition
}; //Finishes the onscroll event listener
})();