mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-11-17 22:29:52 +08:00
correctly showing cpm on account page when cpm mode is enabled. closes #1842
This commit is contained in:
parent
bcdd85d2b5
commit
5cd7cd6579
2 changed files with 117 additions and 23 deletions
|
|
@ -235,7 +235,9 @@ function loadMoreLines(lineIndex) {
|
|||
|
||||
let raw;
|
||||
try {
|
||||
raw = result.rawWpm.toFixed(2);
|
||||
raw = Config.alwaysShowCPM
|
||||
? (result.rawWpm * 5).toFixed(2)
|
||||
: result.rawWpm.toFixed(2);
|
||||
if (raw == undefined) {
|
||||
raw = "-";
|
||||
}
|
||||
|
|
@ -342,7 +344,7 @@ function loadMoreLines(lineIndex) {
|
|||
$(".pageAccount .history table tbody").append(`
|
||||
<tr class="resultRow" id="result-${i}">
|
||||
<td>${pb}</td>
|
||||
<td>${result.wpm.toFixed(2)}</td>
|
||||
<td>${(Config.alwaysShowCPM ? result.wpm * 5 : result.wpm).toFixed(2)}</td>
|
||||
<td>${raw}</td>
|
||||
<td>${result.acc.toFixed(2)}%</td>
|
||||
<td>${consistency}</td>
|
||||
|
|
@ -689,7 +691,7 @@ export function update() {
|
|||
|
||||
chartData.push({
|
||||
x: result.timestamp,
|
||||
y: result.wpm,
|
||||
y: Config.alwaysShowCPM ? Misc.roundTo2(result.wpm * 5) : result.wpm,
|
||||
acc: result.acc,
|
||||
mode: result.mode,
|
||||
mode2: result.mode2,
|
||||
|
|
@ -697,7 +699,9 @@ export function update() {
|
|||
language: result.language,
|
||||
timestamp: result.timestamp,
|
||||
difficulty: result.difficulty,
|
||||
raw: result.rawWpm,
|
||||
raw: Config.alwaysShowCPM
|
||||
? Misc.roundTo2(result.rawWpm * 5)
|
||||
: result.rawWpm,
|
||||
});
|
||||
|
||||
wpmChartData.push(result.wpm);
|
||||
|
|
@ -721,6 +725,17 @@ export function update() {
|
|||
|
||||
totalWpm += result.wpm;
|
||||
});
|
||||
|
||||
if (Config.alwaysShowCPM) {
|
||||
$(".pageAccount .group.history table thead tr td:nth-child(2)").text(
|
||||
"cpm"
|
||||
);
|
||||
} else {
|
||||
$(".pageAccount .group.history table thead tr td:nth-child(2)").text(
|
||||
"wpm"
|
||||
);
|
||||
}
|
||||
|
||||
loadMoreLines();
|
||||
////////
|
||||
|
||||
|
|
@ -773,14 +788,33 @@ export function update() {
|
|||
activityChartData_avgWpm.push({
|
||||
x: parseInt(date),
|
||||
y: Misc.roundTo2(
|
||||
activityChartData[date].totalWpm / activityChartData[date].amount
|
||||
(Config.alwaysShowCPM
|
||||
? activityChartData[date].totalWpm * 5
|
||||
: activityChartData[date].totalWpm) / activityChartData[date].amount
|
||||
),
|
||||
});
|
||||
lastTimestamp = date;
|
||||
});
|
||||
|
||||
if (Config.alwaysShowCPM) {
|
||||
ChartController.accountActivity.options.scales.yAxes[1].scaleLabel.labelString =
|
||||
"Average Cpm";
|
||||
} else {
|
||||
ChartController.accountActivity.options.scales.yAxes[1].scaleLabel.labelString =
|
||||
"Average Wpm";
|
||||
}
|
||||
|
||||
ChartController.accountActivity.data.datasets[0].data = activityChartData_time;
|
||||
ChartController.accountActivity.data.datasets[1].data = activityChartData_avgWpm;
|
||||
|
||||
if (Config.alwaysShowCPM) {
|
||||
ChartController.accountHistory.options.scales.yAxes[0].scaleLabel.labelString =
|
||||
"Characters per Minute";
|
||||
} else {
|
||||
ChartController.accountHistory.options.scales.yAxes[0].scaleLabel.labelString =
|
||||
"Words per Minute";
|
||||
}
|
||||
|
||||
ChartController.accountHistory.data.datasets[0].data = chartData;
|
||||
ChartController.accountHistory.data.datasets[1].data = accChartData;
|
||||
|
||||
|
|
@ -818,19 +852,75 @@ export function update() {
|
|||
Misc.secondsToString(Math.round(totalSecondsFiltered), true, true)
|
||||
);
|
||||
|
||||
$(".pageAccount .highestWpm .val").text(topWpm);
|
||||
$(".pageAccount .averageWpm .val").text(Math.round(totalWpm / testCount));
|
||||
$(".pageAccount .averageWpm10 .val").text(
|
||||
Math.round(wpmLast10total / last10)
|
||||
);
|
||||
if (Config.alwaysShowCPM) {
|
||||
$(".pageAccount .highestWpm .title").text("highest cpm");
|
||||
$(".pageAccount .highestWpm .val").text(Misc.roundTo2(topWpm * 5));
|
||||
} else {
|
||||
$(".pageAccount .highestWpm .title").text("highest wpm");
|
||||
$(".pageAccount .highestWpm .val").text(Misc.roundTo2(topWpm));
|
||||
}
|
||||
|
||||
$(".pageAccount .highestRaw .val").text(rawWpm.max);
|
||||
$(".pageAccount .averageRaw .val").text(
|
||||
Math.round(rawWpm.total / rawWpm.count)
|
||||
);
|
||||
$(".pageAccount .averageRaw10 .val").text(
|
||||
Math.round(rawWpm.last10Total / rawWpm.last10Count)
|
||||
);
|
||||
if (Config.alwaysShowCPM) {
|
||||
$(".pageAccount .averageWpm .title").text("average cpm");
|
||||
$(".pageAccount .averageWpm .val").text(
|
||||
Math.round((totalWpm * 5) / testCount)
|
||||
);
|
||||
} else {
|
||||
$(".pageAccount .averageWpm .title").text("average wpm");
|
||||
$(".pageAccount .averageWpm .val").text(Math.round(totalWpm / testCount));
|
||||
}
|
||||
|
||||
if (Config.alwaysShowCPM) {
|
||||
$(".pageAccount .averageWpm10 .title").text(
|
||||
"average cpm (last 10 tests)"
|
||||
);
|
||||
$(".pageAccount .averageWpm10 .val").text(
|
||||
Math.round((wpmLast10total * 5) / last10)
|
||||
);
|
||||
} else {
|
||||
$(".pageAccount .averageWpm10 .title").text(
|
||||
"average wpm (last 10 tests)"
|
||||
);
|
||||
$(".pageAccount .averageWpm10 .val").text(
|
||||
Math.round(wpmLast10total / last10)
|
||||
);
|
||||
}
|
||||
|
||||
if (Config.alwaysShowCPM) {
|
||||
$(".pageAccount .highestRaw .title").text("highest raw cpm");
|
||||
$(".pageAccount .highestRaw .val").text(Misc.roundTo2(rawWpm.max * 5));
|
||||
} else {
|
||||
$(".pageAccount .highestRaw .title").text("highest raw wpm");
|
||||
$(".pageAccount .highestRaw .val").text(Misc.roundTo2(rawWpm.max));
|
||||
}
|
||||
|
||||
if (Config.alwaysShowCPM) {
|
||||
$(".pageAccount .averageRaw .title").text("average raw cpm");
|
||||
$(".pageAccount .averageRaw .val").text(
|
||||
Math.round((rawWpm.total * 5) / rawWpm.count)
|
||||
);
|
||||
} else {
|
||||
$(".pageAccount .averageRaw .title").text("average raw wpm");
|
||||
$(".pageAccount .averageRaw .val").text(
|
||||
Math.round(rawWpm.total / rawWpm.count)
|
||||
);
|
||||
}
|
||||
|
||||
if (Config.alwaysShowCPM) {
|
||||
$(".pageAccount .averageRaw10 .title").text(
|
||||
"average raw cpm (last 10 tests)"
|
||||
);
|
||||
$(".pageAccount .averageRaw10 .val").text(
|
||||
Math.round((rawWpm.last10Total * 5) / rawWpm.last10Count)
|
||||
);
|
||||
} else {
|
||||
$(".pageAccount .averageRaw10 .title").text(
|
||||
"average raw wpm (last 10 tests)"
|
||||
);
|
||||
$(".pageAccount .averageRaw10 .val").text(
|
||||
Math.round(rawWpm.last10Total / rawWpm.last10Count)
|
||||
);
|
||||
}
|
||||
|
||||
$(".pageAccount .highestWpm .mode").html(topMode);
|
||||
$(".pageAccount .testsTaken .val").text(testCount);
|
||||
|
|
@ -888,8 +978,11 @@ export function update() {
|
|||
|
||||
$(".pageAccount .group.chart .below .text").text(
|
||||
`Speed change per hour spent typing: ${
|
||||
plus + Misc.roundTo2(wpmChangePerHour)
|
||||
} wpm.`
|
||||
plus +
|
||||
Misc.roundTo2(
|
||||
Config.alwaysShowCPM ? wpmChangePerHour * 5 : wpmChangePerHour
|
||||
)
|
||||
} ${Config.alwaysShowCPM ? "cpm" : "wpm"}.`
|
||||
);
|
||||
|
||||
ChartController.accountHistory.update({ duration: 0 });
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import * as TestStats from "./test-stats";
|
|||
import * as ThemeColors from "./theme-colors";
|
||||
import * as Misc from "./misc";
|
||||
import * as Account from "./account";
|
||||
import Config, * as UpdateConfig from "./config";
|
||||
|
||||
export let result = new Chart($("#wpmChart"), {
|
||||
type: "line",
|
||||
|
|
@ -212,9 +213,7 @@ export let accountHistory = new Chart($(".pageAccount #accountHistoryChart"), {
|
|||
)}%\nacc: ${Misc.roundTo2(100 - resultData.y)}%`;
|
||||
}
|
||||
let label =
|
||||
`${data.datasets[tooltipItem.datasetIndex].label}: ${
|
||||
tooltipItem.yLabel
|
||||
}` +
|
||||
`${Config.alwaysShowCPM ? "cpm" : "wpm"}: ${tooltipItem.yLabel}` +
|
||||
"\n" +
|
||||
`raw: ${resultData.raw}` +
|
||||
"\n" +
|
||||
|
|
@ -364,7 +363,9 @@ export let accountActivity = new Chart(
|
|||
true
|
||||
)}\nTests Completed: ${resultData.amount}`;
|
||||
} else if (tooltipItem.datasetIndex === 1) {
|
||||
return `Average Wpm: ${Misc.roundTo2(resultData.y)}`;
|
||||
return `Average ${
|
||||
Config.alwaysShowCPM ? "Cpm" : "Wpm"
|
||||
}: ${Misc.roundTo2(resultData.y)}`;
|
||||
}
|
||||
},
|
||||
label: function () {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue