diff --git a/scripts/leetcode.js b/scripts/leetcode.js index 5ab07d05..9e26f6f5 100644 --- a/scripts/leetcode.js +++ b/scripts/leetcode.js @@ -192,38 +192,49 @@ function parseQuestion() { return markdown; } -const loader = setInterval(() => { - let code = null; - let probStatement = null; - - const successTag = document.getElementsByClassName('success__3Ai7'); +/* Only poll when submit button clicked */ +document.addEventListener('click', (event) => { + const element = event.target; if ( - successTag !== undefined && - successTag.length > 0 && - successTag[0].innerText.trim() === 'Success' + element.classList.contains('css-gahzfj-sm') || + element.parentElement.classList.contains('css-gahzfj-sm') ) { - code = parseCode(); - probStatement = parseQuestion(); - } - if (code !== null && probStatement !== null) { - clearTimeout(loader); - const problemName = window.location.pathname.split('/')[2]; // must be true. - const language = findLanguage(); - if (language !== null) { - uploadGit( - btoa(unescape(encodeURIComponent(code))), - problemName, - problemName + language, - ); // Encode `code` to base64 - - /* @TODO: Change this setTimeout to Promise */ - setTimeout(function () { - uploadGit( - btoa(unescape(encodeURIComponent(probStatement))), - problemName, - 'README.md', - ); - }, 2000); - } + const loader = setInterval(() => { + let code = null; + let probStatement = null; + + const successTag = document.getElementsByClassName( + 'success__3Ai7', + ); + if ( + successTag !== undefined && + successTag.length > 0 && + successTag[0].innerText.trim() === 'Success' + ) { + code = parseCode(); + probStatement = parseQuestion(); + } + if (code !== null && probStatement !== null) { + clearTimeout(loader); + const problemName = window.location.pathname.split('/')[2]; // must be true. + const language = findLanguage(); + if (language !== null) { + uploadGit( + btoa(unescape(encodeURIComponent(code))), + problemName, + problemName + language, + ); // Encode `code` to base64 + + /* @TODO: Change this setTimeout to Promise */ + setTimeout(function () { + uploadGit( + btoa(unescape(encodeURIComponent(probStatement))), + problemName, + 'README.md', + ); + }, 2000); + } + } + }, 1000); } -}, 1000); +}); diff --git a/scripts/welcome.js b/scripts/welcome.js index fc87f0d7..ce36d598 100644 --- a/scripts/welcome.js +++ b/scripts/welcome.js @@ -166,7 +166,6 @@ const linkRepo = (token, name) => { 'none'; } else { /* Change mode type to commit */ - /* Save repo url to chrome storage */ chrome.storage.sync.set( { mode_type: 'commit', repo: res.html_url }, () => {