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: {}