Added an average speed pace maker

This commit is contained in:
jonny-exe 2021-01-09 15:00:23 +01:00
parent da6bc165a2
commit 751264c99b
6 changed files with 65 additions and 3 deletions

View file

@ -317,7 +317,7 @@ function getAccountDataAndInit() {
} else {
accountIconLoading(false);
}
if (config.paceCaret === "pb") {
if (config.paceCaret === "pb" || config.paceCaret === "average") {
if (!testActive) {
initPaceCaret(true);
}
@ -2433,4 +2433,3 @@ $(".pageLogin #forgotPasswordButton").click((e) => {
});
}
});

View file

@ -1001,6 +1001,13 @@ let commandsPaceCaret = {
setPaceCaret("pb");
},
},
{
id: "setPaceCaretAverage",
display: "average",
exec: () => {
setPaceCaret("average");
},
},
{
id: "setPaceCaretCustom",
display: "custom...",

View file

@ -157,6 +157,41 @@ export async function db_getUserHighestWpm(
return retval;
}
export async function db_getUserAverageWpm10(
mode,
punctuation,
language,
difficulty
) {
function cont() {
let wpmSum = 0;
let count = 0;
dbSnapshot.results.forEach((result) => {
if (
result.mode == mode &&
result.punctuation == punctuation &&
result.language == language &&
result.difficulty == difficulty
) {
wpmSum += result.wpm;
count++;
if (count >= 10) {
return Math.round(wpmSum / 10);
}
}
});
return Math.round(wpmSum / count);
}
let retval;
if (dbSnapshot == null || dbSnapshot.results === undefined) {
retval = 0;
} else {
retval = cont();
}
return retval;
}
export async function db_getLocalPB(
mode,
mode2,

View file

@ -14,6 +14,7 @@ import {
db_getUserResults,
db_getUserHighestWpm,
db_getLocalPB,
db_getUserAverageWpm10,
db_saveLocalPB,
db_getLocalTagPB,
db_saveLocalTagPB,

View file

@ -3591,7 +3591,11 @@ function updateTestModesNotice() {
if (config.paceCaret !== "off") {
$(".pageTest #testModesNotice").append(
`<div class="text-button" commands="commandsPaceCaret"><i class="fas fa-tachometer-alt"></i>${
config.paceCaret === "pb" ? "pb" : config.paceCaretCustomSpeed + " wpm"
config.paceCaret === "average"
? "average"
: config.paceCaret === "pb"
? "pb"
: config.paceCaretCustomSpeed + " wpm"
} pace</div>`
);
}
@ -3931,6 +3935,14 @@ async function initPaceCaret() {
config.language,
config.difficulty
);
} else if (config.paceCaret === "average") {
await db_getUserResults();
wpm = await db_getUserAverageWpm10(
config.mode,
config.punctuation,
config.language,
config.difficulty
);
} else if (config.paceCaret === "custom") {
wpm = config.paceCaretCustomSpeed;
}

View file

@ -2211,6 +2211,14 @@
>
off
</div>
<div
class="button"
paceCaret="average"
tabindex="0"
onclick="this.blur();"
>
average
</div>
<div
class="button"
paceCaret="pb"