mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-10-29 02:07:55 +08:00
removed any type
This commit is contained in:
parent
701f4e0f2e
commit
2c8f31f56f
1 changed files with 55 additions and 41 deletions
|
|
@ -14,56 +14,70 @@ function reset(): void {
|
|||
ChartController.globalSpeedHistogram.updateColors();
|
||||
}
|
||||
|
||||
let speedStatsResponseData: any | undefined;
|
||||
let typingStatsResponseData: any | undefined;
|
||||
interface HistogramData {
|
||||
[key: string]: number;
|
||||
}
|
||||
|
||||
interface TypingStatsData {
|
||||
type: string;
|
||||
timeTyping: number;
|
||||
testsCompleted: number;
|
||||
testsStarted: number;
|
||||
}
|
||||
|
||||
let speedHistogramResponseData: HistogramData | undefined;
|
||||
let typingStatsResponseData: TypingStatsData | undefined;
|
||||
|
||||
function updateStatsAndHistogram(): void {
|
||||
if (!speedStatsResponseData && !typingStatsResponseData) {
|
||||
return;
|
||||
if (speedHistogramResponseData) {
|
||||
ChartController.globalSpeedHistogram.updateColors();
|
||||
const bucketedSpeedStats = getHistogramDataBucketed(
|
||||
speedHistogramResponseData
|
||||
);
|
||||
ChartController.globalSpeedHistogram.data.labels =
|
||||
bucketedSpeedStats.labels;
|
||||
ChartController.globalSpeedHistogram.data.datasets[0].data =
|
||||
bucketedSpeedStats.data;
|
||||
}
|
||||
ChartController.globalSpeedHistogram.updateColors();
|
||||
const bucketedSpeedStats = getHistogramDataBucketed(speedStatsResponseData);
|
||||
ChartController.globalSpeedHistogram.data.labels = bucketedSpeedStats.labels;
|
||||
ChartController.globalSpeedHistogram.data.datasets[0].data =
|
||||
bucketedSpeedStats.data;
|
||||
if (typingStatsResponseData) {
|
||||
const secondsRounded = Math.round(typingStatsResponseData.timeTyping);
|
||||
|
||||
const secondsRounded = Math.round(typingStatsResponseData.timeTyping);
|
||||
const timeTypingDuration = intervalToDuration({
|
||||
start: 0,
|
||||
end: secondsRounded * 1000,
|
||||
});
|
||||
|
||||
const timeTypingDuration = intervalToDuration({
|
||||
start: 0,
|
||||
end: secondsRounded * 1000,
|
||||
});
|
||||
$(".pageAbout #totalTimeTypingStat .val").text(
|
||||
timeTypingDuration.years?.toString() ?? ""
|
||||
);
|
||||
$(".pageAbout #totalTimeTypingStat .valSmall").text("years");
|
||||
$(".pageAbout #totalTimeTypingStat").attr(
|
||||
"aria-label",
|
||||
Math.round(secondsRounded / 3600) + " hours"
|
||||
);
|
||||
|
||||
$(".pageAbout #totalTimeTypingStat .val").text(
|
||||
timeTypingDuration.years?.toString() ?? ""
|
||||
);
|
||||
$(".pageAbout #totalTimeTypingStat .valSmall").text("years");
|
||||
$(".pageAbout #totalTimeTypingStat").attr(
|
||||
"aria-label",
|
||||
Math.round(secondsRounded / 3600) + " hours"
|
||||
);
|
||||
$(".pageAbout #totalStartedTestsStat .val").text(
|
||||
Math.round(typingStatsResponseData.testsStarted / 1000000)
|
||||
);
|
||||
$(".pageAbout #totalStartedTestsStat .valSmall").text("million");
|
||||
$(".pageAbout #totalStartedTestsStat").attr(
|
||||
"aria-label",
|
||||
typingStatsResponseData.testsStarted + " tests"
|
||||
);
|
||||
|
||||
$(".pageAbout #totalStartedTestsStat .val").text(
|
||||
Math.round(typingStatsResponseData.testsStarted / 1000000)
|
||||
);
|
||||
$(".pageAbout #totalStartedTestsStat .valSmall").text("million");
|
||||
$(".pageAbout #totalStartedTestsStat").attr(
|
||||
"aria-label",
|
||||
typingStatsResponseData.testsStarted + " tests"
|
||||
);
|
||||
|
||||
$(".pageAbout #totalCompletedTestsStat .val").text(
|
||||
Math.round(typingStatsResponseData.testsCompleted / 1000000)
|
||||
);
|
||||
$(".pageAbout #totalCompletedTestsStat .valSmall").text("million");
|
||||
$(".pageAbout #totalCompletedTestsStat").attr(
|
||||
"aria-label",
|
||||
typingStatsResponseData.testsCompleted + " tests"
|
||||
);
|
||||
$(".pageAbout #totalCompletedTestsStat .val").text(
|
||||
Math.round(typingStatsResponseData.testsCompleted / 1000000)
|
||||
);
|
||||
$(".pageAbout #totalCompletedTestsStat .valSmall").text("million");
|
||||
$(".pageAbout #totalCompletedTestsStat").attr(
|
||||
"aria-label",
|
||||
typingStatsResponseData.testsCompleted + " tests"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
async function getStatsAndHistogramData(): Promise<void> {
|
||||
if (speedStatsResponseData && typingStatsResponseData) {
|
||||
if (speedHistogramResponseData && typingStatsResponseData) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -78,7 +92,7 @@ async function getStatsAndHistogramData(): Promise<void> {
|
|||
mode2: "60",
|
||||
});
|
||||
if (speedStats.status >= 200 && speedStats.status < 300) {
|
||||
speedStatsResponseData = speedStats.data;
|
||||
speedHistogramResponseData = speedStats.data;
|
||||
} else {
|
||||
Notifications.add(
|
||||
`Failed to get global speed stats for histogram: ${speedStats.message}`,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue