import * as React from "react"; import { Badge } from "./Badge"; export interface BadgeListProps { onBadgeClick: (badge: pxt.auth.Badge) => void; availableBadges: pxt.auth.Badge[]; userState: pxt.auth.UserBadgeState; } export const BadgeList = (props: BadgeListProps) => { const { onBadgeClick, availableBadges, userState } = props; const badges = availableBadges.slice(); let unlocked: pxt.Map = {}; for (const badge of userState.badges) { unlocked[badge.id] = true; const existing = badges.findIndex(b => b.id === badge.id); if (existing > -1) { badges[existing] = { ...badges[existing], timestamp: badges[existing].timestamp || badge.timestamp } } else { badges.push(badge); } } const bg: JSX.Element[] = [] for (let i = 0; i < Math.max(badges.length + 10, 20); i++) { bg.push(
) } return
{lf("Badges")} {lf("Click each badge to see details")}
{ badges.map(badge =>
{badge.title}
) }
}