import Link from "next/link"; import type { Rank, Media, Assignment } from "@/payload-types"; import type { ResolvedLevel } from "@/utils/xp/resolveLevel"; import { Item, ItemContent, ItemDescription, ItemHeader, ItemTitle, } from "@/components/ui/item"; import { BadgeCheckIcon, ShieldIcon, SparkleIcon, UserIcon } from "lucide-react"; interface ProfileSummaryProps { displayName: string; username: string; rank: Pick & { insigniaUrl?: string | null }; xpLevel: ResolvedLevel; assignments: Pick[]; } export function ProfileSummary({ displayName, username, rank, xpLevel, assignments, }: ProfileSummaryProps) { return (
Service Summary
View full record
{rank.insigniaUrl && ( {rank.name} )}

{displayName}

{rank.name} | {xpLevel.levelName}
{xpLevel.xp.toLocaleString()} XP
{assignments.length > 0 && (
{assignments.map((a) => ( {a.callsign ? `[${a.callsign}] ` : ""} {a.name} ({a.type}) ))}
)} ); }