mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-02-04 04:51:16 +08:00
fixed pb saving issues when no pbs are found
This commit is contained in:
parent
ce18f6449a
commit
50783f2e08
2 changed files with 37 additions and 53 deletions
|
@ -114,7 +114,7 @@ module.exports = {
|
|||
//updating lbpersonalbests object
|
||||
//verify structure first
|
||||
if (lbObj[mode] === undefined) lbObj[mode] = {};
|
||||
if (lbObj[mode][mode2] === undefined) lbObj[mode][mode2] = {};
|
||||
if (lbObj[mode][mode2] === undefined) lbObj[mode][mode2] = [];
|
||||
|
||||
let bestForEveryLanguage = {};
|
||||
if (obj?.[mode]?.[mode2]) {
|
||||
|
|
88
src/js/db.js
88
src/js/db.js
|
@ -342,59 +342,43 @@ export async function saveLocalPB(
|
|||
) {
|
||||
if (mode == "quote") return;
|
||||
function cont() {
|
||||
try {
|
||||
let found = false;
|
||||
if (dbSnapshot.personalBests[mode][mode2] === undefined) {
|
||||
dbSnapshot.personalBests[mode][mode2] = [];
|
||||
}
|
||||
dbSnapshot.personalBests[mode][mode2].forEach((pb) => {
|
||||
if (
|
||||
pb.punctuation == punctuation &&
|
||||
pb.difficulty == difficulty &&
|
||||
pb.language == language &&
|
||||
(pb.lazyMode === lazyMode ||
|
||||
(pb.lazyMode === undefined && lazyMode === false))
|
||||
) {
|
||||
found = true;
|
||||
pb.wpm = wpm;
|
||||
pb.acc = acc;
|
||||
pb.raw = raw;
|
||||
pb.timestamp = Date.now();
|
||||
pb.consistency = consistency;
|
||||
pb.lazyMode = lazyMode;
|
||||
}
|
||||
});
|
||||
if (!found) {
|
||||
//nothing found
|
||||
dbSnapshot.personalBests[mode][mode2].push({
|
||||
language: language,
|
||||
difficulty: difficulty,
|
||||
lazyMode: lazyMode,
|
||||
punctuation: punctuation,
|
||||
wpm: wpm,
|
||||
acc: acc,
|
||||
raw: raw,
|
||||
timestamp: Date.now(),
|
||||
consistency: consistency,
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
//that mode or mode2 is not found
|
||||
dbSnapshot.personalBests = {};
|
||||
let found = false;
|
||||
if (dbSnapshot.personalBests === undefined) dbSnapshot.personalBests = {};
|
||||
if (dbSnapshot.personalBests[mode] === undefined)
|
||||
dbSnapshot.personalBests[mode] = {};
|
||||
dbSnapshot.personalBests[mode][mode2] = [
|
||||
{
|
||||
language: language,
|
||||
difficulty: difficulty,
|
||||
lazyMode: lazyMode,
|
||||
punctuation: punctuation,
|
||||
wpm: wpm,
|
||||
acc: acc,
|
||||
raw: raw,
|
||||
timestamp: Date.now(),
|
||||
consistency: consistency,
|
||||
},
|
||||
];
|
||||
if (dbSnapshot.personalBests[mode][mode2] === undefined)
|
||||
dbSnapshot.personalBests[mode][mode2] = [];
|
||||
|
||||
dbSnapshot.personalBests[mode][mode2].forEach((pb) => {
|
||||
if (
|
||||
pb.punctuation == punctuation &&
|
||||
pb.difficulty == difficulty &&
|
||||
pb.language == language &&
|
||||
(pb.lazyMode === lazyMode ||
|
||||
(pb.lazyMode === undefined && lazyMode === false))
|
||||
) {
|
||||
found = true;
|
||||
pb.wpm = wpm;
|
||||
pb.acc = acc;
|
||||
pb.raw = raw;
|
||||
pb.timestamp = Date.now();
|
||||
pb.consistency = consistency;
|
||||
pb.lazyMode = lazyMode;
|
||||
}
|
||||
});
|
||||
if (!found) {
|
||||
//nothing found
|
||||
dbSnapshot.personalBests[mode][mode2].push({
|
||||
language: language,
|
||||
difficulty: difficulty,
|
||||
lazyMode: lazyMode,
|
||||
punctuation: punctuation,
|
||||
wpm: wpm,
|
||||
acc: acc,
|
||||
raw: raw,
|
||||
timestamp: Date.now(),
|
||||
consistency: consistency,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue