Fix BadgeContainer key on user profile

This commit is contained in:
Kalle 2022-07-04 14:31:34 +03:00
parent 1d3e7dc02f
commit 0febd67cf9
2 changed files with 3 additions and 4 deletions

View File

@ -2,7 +2,7 @@ import { sql } from "../sql";
import type { Badge, User } from "../types";
const countsByUserIdStm = sql.prepare(`
select "Badge"."code", "Badge"."displayName", count("BadgeOwner"."badgeId") as count
select "Badge"."code", "Badge"."displayName", "Badge"."id", count("BadgeOwner"."badgeId") as count
from "BadgeOwner"
join "Badge" on "Badge"."id" = "BadgeOwner"."badgeId"
where "BadgeOwner"."userId" = $userId
@ -10,7 +10,7 @@ const countsByUserIdStm = sql.prepare(`
`);
export type CountsByUserId = Array<
Pick<Badge, "code" | "displayName"> & {
Pick<Badge, "code" | "displayName" | "id"> & {
count: number;
}
>;

View File

@ -145,8 +145,7 @@ function BadgeContainer(props: { badges: UserPageLoaderData["badges"] }) {
{smallBadges.length > 0 ? (
<div className="u__small-badges">
{smallBadges.map((badge) => (
// xxx: should use badge.id - code is not necessarily unique
<div key={badge.code} className="u__small-badge-container">
<div key={badge.id} className="u__small-badge-container">
<img
src={`/gif/badges/${badge.code}.gif`}
alt={badge.displayName}