Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Instantling
- // @namespace http://instaling.pl
- // @version 0.1
- // @description try to take over the world!
- // @author You
- // @match https://instaling.pl/*
- // @grant none
- // ==/UserScript==
- //^\/
- (function() {
- 'use strict';
- let emptyWords = [];
- let empty = false;
- let lastWord = null;
- function loadStorage() {
- if(localStorage.getItem('instantling') != null) {
- emptyWords = JSON.parse(localStorage.getItem('instantling'));
- }
- }
- function getAnswer() {
- let rawAnswer = document.querySelector('#jp_audio_0').getAttribute('src');
- let lookForMore = false;
- for(let i=0; i<emptyWords.length; i++) {
- if(emptyWords[i].includes(document.querySelector('#answer_translations').innerText)) {
- return emptyWords[i][1]
- }
- if(i==emptyWords.length-1) {
- lookForMore = true;
- }
- }
- if (lookForMore) {
- if (rawAnswer != "/mp3/_empty.mp3" && rawAnswer != lastWord) {
- let answer = rawAnswer.slice(28, rawAnswer.length-4);
- return decodeURI(answer);
- }
- else if (rawAnswer == "/mp3/_empty.mp3" || lastWord == document.querySelector('#jp_audio_0').getAttribute('src')) {
- console.log('findWord()');
- return findWord(document.querySelector('#answer_translations').innerText);
- }
- }
- }
- function findWord(word) {
- if(emptyWords.length != 0) {
- for(let i=0; i<emptyWords.length; i++) {
- if(emptyWords[i].includes(word) == true) {
- return emptyWords[i][1];
- }
- }
- }
- console.error('Nie znaleziono slowka, przejdź dalej i kliknij ] żeby zapisać');
- empty = true;
- }
- function fillWord() {
- if(empty) {
- let translatedAnswer = document.querySelector('#answer_translations').innerText;
- let word = document.querySelector('#word').innerText;
- console.warn(`Zapisano ${translatedAnswer} ${word}`);
- emptyWords.push([translatedAnswer, word]);
- saveToStorage();
- empty = false;
- }
- }
- function saveToStorage() {
- localStorage.setItem('instantling', JSON.stringify(emptyWords));
- }
- loadStorage()
- const input = document.querySelector('#answer');
- document.addEventListener('keyup', (event) => {
- if(event.keyCode == 219) {
- loadStorage();
- input.value = getAnswer();
- }
- if(event.keyCode == 221) {
- if(empty) {
- fillWord();
- }
- else if (document.querySelector('#answer_result_fieldset > h4 > .red') != null) {
- for(let i=0; i<emptyWords.length; i++) {
- if(emptyWords[i].includes(document.querySelector('#answer_translations').innerText)) {
- emptyWords[i][1] = document.querySelector('#word').innerText;
- saveToStorage();
- console.warn("ENTER: fixed answer")
- }
- }
- }
- else if (document.querySelector('#answer_result_fieldset > h4 > .blue') != null) {
- for(let i=0; i<emptyWords.length; i++) {
- if(emptyWords[i].includes(document.querySelector('#answer_translations').innerText)) {
- let fixedAnswer = document.querySelector('#word').innerText;
- emptyWords[i][1] = fixedAnswer.toLowerCase();
- saveToStorage();
- console.warn("ENTER: fixed answer [lowercase]");
- }
- }
- }
- }
- if(event.keyCode == 13) {
- lastWord = document.querySelector('#jp_audio_0').getAttribute('src');
- }
- });
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement