Skip to content
Snippets Groups Projects
Commit d66f15d2 authored by Millicent Billette's avatar Millicent Billette
Browse files

UX improvements

parent 3fed2ed2
No related branches found
No related tags found
No related merge requests found
const cores = navigator.hardwareConcurrency;
addEventsListeners(document.querySelectorAll("#salt, #pass"),"change keyup",updateEstimate);
updateEstimate();
function updateEstimate(){
const idSecList = multiLineString2cleanArray(document.getElementById("salt").value);
const passList = multiLineString2cleanArray(document.getElementById("pass").value);
document.getElementById("combi").innerHTML = idSecList.length*passList.length;
document.getElementById("temps").innerHTML = (idSecList.length*passList.length)+"s";
}
document.getElementById("compute").addEventListener("click",e=>{ document.getElementById("compute").addEventListener("click",e=>{
const pub = document.getElementById("pubkey").value.trim(); const pub = document.getElementById("pubkey").value.trim();
const pubRaw = Base58.decode(pub); const pubRaw = Base58.decode(pub);
const idSecList = document.getElementById("salt").value.split("\n").map(str=>str.trim()); const idSecList = multiLineString2cleanArray(document.getElementById("salt").value);
const passList = document.getElementById("pass").value.split("\n").map(str=>str.trim()); const passList = multiLineString2cleanArray(document.getElementById("pass").value);
document.getElementById("combi").innerHTML = idSecList.length*passList.length; updateEstimate();
document.getElementById("temps").innerHTML = (idSecList.length*passList.length)+"s";
document.getElementById("percent").innerHTML = "0%"; document.getElementById("percent").innerHTML = "0%";
for(let idSec of idSecList){ for(let idSec of idSecList){
...@@ -50,3 +59,11 @@ async function crypt(password, salt){ ...@@ -50,3 +59,11 @@ async function crypt(password, salt){
}); });
} }
function addEventsListeners(triggerNodes,events,functions){
if(!triggerNodes.length) triggerNodes = [triggerNodes];
if(typeof events !== "object") events = events.split(" ");
if(typeof functions !== "object") functions = [functions];
console.log(triggerNodes[0].addEventListener, events, functions);
for(let n of triggerNodes) events.forEach(e=> functions.forEach(f=>n.addEventListener(e,f)));
}
function multiLineString2cleanArray(rawStr){ return rawStr.split("\n").map(str=>str.trim()).filter(str=>str !== ""); }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment