mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-11-11 22:51:35 +08:00
updated the way local lb memory is stored and saved,
updating lb memory if different rank was seen on the leaderboard updating db lb memory if local is different
This commit is contained in:
parent
e6f701c3cb
commit
c71c1106de
2 changed files with 26 additions and 20 deletions
43
src/js/db.js
43
src/js/db.js
|
|
@ -39,16 +39,7 @@ export async function initSnapshot() {
|
|||
banned: undefined,
|
||||
verified: undefined,
|
||||
emailVerified: undefined,
|
||||
lbMemory: {
|
||||
time15: {
|
||||
global: null,
|
||||
daily: null,
|
||||
},
|
||||
time60: {
|
||||
global: null,
|
||||
daily: null,
|
||||
},
|
||||
},
|
||||
lbMemory: {},
|
||||
globalStats: {
|
||||
time: 0,
|
||||
started: 0,
|
||||
|
|
@ -74,14 +65,13 @@ export async function initSnapshot() {
|
|||
snap.quoteRatings = userData.quoteRatings;
|
||||
snap.favouriteThemes =
|
||||
userData.favouriteThemes === undefined ? [] : userData.favouriteThemes;
|
||||
try {
|
||||
if (userData.lbMemory.time15 !== undefined) {
|
||||
snap.lbMemory.time15 = userData.lbMemory.time15;
|
||||
}
|
||||
if (userData.lbMemory.time60 !== undefined) {
|
||||
snap.lbMemory.time60 = userData.lbMemory.time60;
|
||||
}
|
||||
} catch {}
|
||||
|
||||
if (userData.lbMemory?.time15 || userData.lbMemory?.time60) {
|
||||
//old memory format
|
||||
snap.lbMemory = {};
|
||||
} else if (userData.lbMemory) {
|
||||
snap.lbMemory = userData.lbMemory;
|
||||
}
|
||||
|
||||
let configData = await axiosInstance.get("/config");
|
||||
configData = configData.data;
|
||||
|
|
@ -502,9 +492,22 @@ export async function saveLocalTagPB(
|
|||
}
|
||||
}
|
||||
|
||||
export function updateLbMemory(mode, mode2, type, value) {
|
||||
export function updateLbMemory(mode, mode2, language, rank, api = false) {
|
||||
//could dbSnapshot just be used here instead of getSnapshot()
|
||||
getSnapshot().lbMemory[mode + mode2][type] = value;
|
||||
if (dbSnapshot.lbMemory === undefined) dbSnapshot.lbMemory = {};
|
||||
if (dbSnapshot.lbMemory[mode] === undefined) dbSnapshot.lbMemory[mode] = {};
|
||||
if (dbSnapshot.lbMemory[mode][mode2] === undefined)
|
||||
dbSnapshot.lbMemory[mode][mode2] = {};
|
||||
let current = dbSnapshot.lbMemory[mode][mode2][language];
|
||||
dbSnapshot.lbMemory[mode][mode2][language] = rank;
|
||||
if (api && current != rank) {
|
||||
axiosInstance.post("/user/updateLbMemory", {
|
||||
mode,
|
||||
mode2,
|
||||
language,
|
||||
rank,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export async function saveConfig(config) {
|
||||
|
|
|
|||
|
|
@ -139,6 +139,9 @@ export function fillTable(lb, prepend) {
|
|||
if (entry.name == loggedInUserName) {
|
||||
meClassString = ' class="me"';
|
||||
}
|
||||
if (entry.uid === firebase.auth().currentUser?.uid) {
|
||||
DB.updateLbMemory("time", lb, "english", entry.rank, true);
|
||||
}
|
||||
html += `
|
||||
<tr>
|
||||
<td>${
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue