diff --git a/src/js/db.js b/src/js/db.js index 24453c40f..bdf8d53b6 100644 --- a/src/js/db.js +++ b/src/js/db.js @@ -164,6 +164,7 @@ export async function db_getUserHighestWpm( export async function db_getUserAverageWpm10( mode, + mode2, punctuation, language, difficulty @@ -171,20 +172,23 @@ export async function db_getUserAverageWpm10( function cont() { let wpmSum = 0; let count = 0; + let i = 0; // You have to use every so you can break out of the loop dbSnapshot.results.every((result) => { if ( result.mode == mode && + result.mode2 == mode2 && result.punctuation == punctuation && result.language == language && result.difficulty == difficulty ) { wpmSum += result.wpm; count++; - if (count < 10) { - return true; + if (count >= 10) { + return false; } } + return true; }); return Math.round(wpmSum / count); } diff --git a/src/js/script.js b/src/js/script.js index de1f9e781..b738ba302 100644 --- a/src/js/script.js +++ b/src/js/script.js @@ -3589,14 +3589,18 @@ function updateTestModesNotice() { } if (config.paceCaret !== "off") { + let speed = ""; + try { + speed = ` (${Math.round(paceCaret.wpm)} wpm)`; + } catch {} $(".pageTest #testModesNotice").append( `
${ config.paceCaret === "average" ? "average" : config.paceCaret === "pb" ? "pb" - : config.paceCaretCustomSpeed + " wpm" - } pace
` + : "custom" + } pace${speed}` ); } @@ -3936,12 +3940,24 @@ async function initPaceCaret() { config.difficulty ); } else if (config.paceCaret === "average") { + let mode2 = ""; + if (config.mode === "time") { + mode2 = config.time; + } else if (config.mode === "words") { + mode2 = config.words; + } else if (config.mode === "custom") { + mode2 = "custom"; + } else if (config.mode === "quote") { + mode2 = randomQuote.id; + } wpm = await db_getUserAverageWpm10( config.mode, + mode2, config.punctuation, config.language, config.difficulty ); + console.log("avg pace " + wpm); } else if (config.paceCaret === "custom") { wpm = config.paceCaretCustomSpeed; } @@ -3955,9 +3971,8 @@ async function initPaceCaret() { let cps = characters / 60; //characters per step let spc = 60 / characters; //seconds per character - updateTestModesNotice(); - paceCaret = { + wpm: wpm, cps: cps, spc: spc, correction: 0, @@ -3966,6 +3981,8 @@ async function initPaceCaret() { wordsStatus: {}, timeout: null, }; + + updateTestModesNotice(); } function movePaceCaret(expectedStepEnd) {