← All @molecule/* packages · App templates
@molecule/app-leaderboard-row-reactFeature · leaderboard-row · App (browser) · v1.0.1 · Apache-2.0
Leaderboard row — rank, avatar, name, score, optional change indicator
npm install @molecule/app-leaderboard-row-react@molecule/app-leaderboard-row-react is a ready-made leaderboard-row feature for the app (browser) side. It composes the core interfaces it needs, so it works with whichever providers your app has bonded.
import { LeaderboardRow } from '@molecule/app-leaderboard-row-react'
;<LeaderboardRow
rank={1}
name="Alice Chen"
avatarSrc="/avatars/alice.png"
score={4820}
rankDelta={2}
subtitle="Team Phoenix"
isMe={false}
onClick={() => openProfile('alice')}
/>Works with: @molecule/app-react, @molecule/app-ui, @molecule/app-ui-react
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
Leaderboard row.
Exports <LeaderboardRow> — rank + avatar + name + score with optional
rank-delta indicator, subtitle, and current-user highlight. Props: rank,
name, score, avatarSrc?, rankDelta?, subtitle?, isMe?, onClick?,
className?.
import { LeaderboardRow } from '@molecule/app-leaderboard-row-react'
;<LeaderboardRow
rank={1}
name="Alice Chen"
avatarSrc="/avatars/alice.png"
score={4820}
rankDelta={2}
subtitle="Team Phoenix"
isMe={false}
onClick={() => openProfile('alice')}
/>
feature
npm install @molecule/app-leaderboard-row-react @molecule/app-react @molecule/app-ui @molecule/app-ui-react react
npm install -D @types/react
LeaderboardRowPropsProps for {@link LeaderboardRow}.
interface LeaderboardRowProps {
/** 1-based rank. */
rank: number
/** Display name. */
name: ReactNode
/** Optional avatar URL. */
avatarSrc?: string
/** Score / metric. */
score: ReactNode
/** Optional change indicator (positive = climbed). */
rankDelta?: number
/** Optional secondary line (team, level, country). */
subtitle?: ReactNode
/** Whether this row represents the current user (highlighted). */
isMe?: boolean
/** Click handler. */
onClick?: () => void
/** Extra classes. */
className?: string
}
LeaderboardRow(props)Leaderboard row — rank + avatar + name + score + optional rank-delta arrow. Top 3 ranks render a medal in place of the numeric rank.
function LeaderboardRow({
rank,
name,
avatarSrc,
score,
rankDelta,
subtitle,
isMe,
onClick,
className,
}: LeaderboardRowProps): ReactElement<unknown, string | JSXElementConstructor<any>>
props — Component props (see {@link LeaderboardRowProps}).Peer dependencies:
@molecule/app-react ^1.0.1@molecule/app-ui ^1.0.1@molecule/app-ui-react ^1.0.1react ^18.0.0 || ^19.0.0@molecule/app-react
@molecule/app-ui
@molecule/app-ui-react
react
Ranks 1–3 render medal emoji (gold/silver/bronze) INSTEAD of the rank number;
rank 4+ renders #n. There is no prop to disable the medals.
rankDelta arrows use hardcoded green/red hex colors and isMe uses a fixed
light-blue translucent background — neither follows the app theme, and the
isMe tint is tuned for light backgrounds. Override via className where
that clashes with a dark theme.
When name is not a plain string the avatar's accessible name falls back to
the hardcoded English string 'Player' — pass a string name in localized apps.
onClick gives the row a pointer cursor but no keyboard/role semantics.
Requires a wired ClassMap bond; <Avatar> comes from @molecule/app-ui-react.