-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathquizletmatchauto.js
1 lines (1 loc) · 1.73 KB
/
quizletmatchauto.js
1
javascript:(()=>{var s=i=>new Promise(o=>setTimeout(o,i));(async()=>{let i=await fetch(window.location.href.toString().replace("/match","")).then(l=>l.text()),o=[];for(let[l,e]of Object.entries(JSON.parse(i.substring(i.indexOf('(function(){window.Quizlet["setPageData"] = ')+44,i.indexOf('; QLoad("Quizlet.setPageData");}).call(this)'))).termIdToTermsMap)){let t=e;o.push({term:t.word,definition:t.definition})}for(;document.querySelector(".MatchModeQuestionGridBoard")==null&&document.querySelector(".MatchModeQuestionScatterBoard")==null;)await s(100);let c=0;switch(document.querySelector(".MatchModeQuestionScatterBoard")&&(c=1),c){case 0:{let l=document.querySelectorAll(".MatchModeQuestionGridBoard-tile"),e=[];for(let t of Array.from(l))e.push({element:t,text:t.querySelector(".MatchModeQuestionGridTile-text").getAttribute("aria-label")});for(let t of e){let a=o.map(r=>{if(r.term==t.text)return{match:r.definition};if(r.definition==t.text)return{match:r.term}}).filter(r=>r!==void 0)[0],m=e.filter(r=>r.text==a.match),n=m[m.length-1];for(t.element.style.border="2px solid lime",n.element.style.border="2px solid lime";t.element.children.length>0;)await s(100);t.element.style.border="none",n.element.style.border="none"}break}case 1:{let l=[];for(let e of Array.from(document.querySelectorAll(".MatchModeQuestionScatterTile")))l.push({element:e,text:e.querySelector(".TermText").getAttribute("aria-label")});for(let e of l){let t=o.map(n=>{if(n.term==e.text)return{match:n.definition};if(n.definition==e.text)return{match:n.term}}).filter(n=>n!==void 0)[0],a=l.filter(n=>n.text==t.match),m=a[a.length-1];for(e.element.style.border="2px solid lime",m.element.style.border="2px solid lime";!e.element.className.includes("is-correct");)await s(100)}break}}})();})();