diff --git a/frontend/src/ts/pages/friends.ts b/frontend/src/ts/pages/friends.ts index e192fee44dda..d4806c893ebd 100644 --- a/frontend/src/ts/pages/friends.ts +++ b/frontend/src/ts/pages/friends.ts @@ -181,10 +181,10 @@ function updatePendingConnections(): void { + + @@ -304,7 +304,7 @@ function buildFriendRow(entry: Friend): HTMLTableRowElement { entry.streak?.maxLength, "longest streak", )}" data-balloon-pos="up"> - ${formatStreak(entry.streak?.length)} + ${formatStreak(entry.streak?.length)} ${top60?.acc ?? "-"} ${actions} - + `; @@ -367,14 +367,25 @@ function formatPb(entry?: PersonalBest): details: "", }; - result.details = [ + const details = [ `${getLanguageDisplayString(entry.language)}`, `${result.wpm} wpm`, - `${result.acc} acc`, - `${result.raw} raw`, - `${result.con} con`, - `${dateFormat(entry.timestamp, "dd MMM yyyy")}`, - ].join("\n"); + ]; + + if (isSafeNumber(entry.acc)) { + details.push(`${result.acc} acc`); + } + if (isSafeNumber(entry.raw)) { + details.push(`${result.raw} raw`); + } + if (isSafeNumber(entry.consistency)) { + details.push(`${result.con} con`); + } + if (isSafeNumber(entry.timestamp)) { + details.push(`${dateFormat(entry.timestamp, "dd MMM yyyy")}`); + } + + result.details = details.join("\n"); return result; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad23c2f832de..50c69e54238a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3800,8 +3800,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.9.11: - resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==} + baseline-browser-mapping@2.9.10: + resolution: {integrity: sha512-2VIKvDx8Z1a9rTB2eCkdPE5nSe28XnA+qivGnWHoB40hMMt/h1hSz0960Zqsn6ZyxWXUie0EBdElKv8may20AA==} hasBin: true basic-auth-connect@1.0.0: @@ -3999,8 +3999,8 @@ packages: caniuse-lite@1.0.30001715: resolution: {integrity: sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==} - caniuse-lite@1.0.30001762: - resolution: {integrity: sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==} + caniuse-lite@1.0.30001761: + resolution: {integrity: sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==} canvas-confetti@1.5.1: resolution: {integrity: sha512-Ncz+oZJP6OvY7ti4E1slxVlyAV/3g7H7oQtcCDXgwGgARxPnwYY9PW5Oe+I8uvspYNtuHviAdgA0LfcKFWJfpg==} @@ -12997,7 +12997,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.9.11: {} + baseline-browser-mapping@2.9.10: {} basic-auth-connect@1.0.0: {} @@ -13134,8 +13134,8 @@ snapshots: browserslist@4.28.0: dependencies: - baseline-browser-mapping: 2.9.11 - caniuse-lite: 1.0.30001762 + baseline-browser-mapping: 2.9.10 + caniuse-lite: 1.0.30001761 electron-to-chromium: 1.5.267 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.0) @@ -13263,7 +13263,7 @@ snapshots: caniuse-lite@1.0.30001715: {} - caniuse-lite@1.0.30001762: {} + caniuse-lite@1.0.30001761: {} canvas-confetti@1.5.1: {}