@molecule/app-leaderboard-row-react
Feature · leaderboard-row · App (browser) · v1.0.2 · Apache-2.0
Leaderboard row — rank, avatar, name, score, optional change indicator
npm install @molecule/app-leaderboard-row-reactHow it works
@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
Reference
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?.
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.
Quick Start
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')}
/>
Type
feature
Installation
npm install @molecule/app-leaderboard-row-react @molecule/app-react @molecule/app-ui @molecule/app-ui-react react
npm install -D @types/react
API
Interfaces
LeaderboardRowProps
Props for 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
}
Functions
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 (seeLeaderboardRowProps).
Injection Notes
Requirements
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
Runtime Dependencies
-
@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. -
rankDeltaarrows use hardcoded green/red hex colors andisMeuses a fixed light-blue translucent background — neither follows the app theme, and theisMetint is tuned for light backgrounds. Override viaclassNamewhere that clashes with a dark theme. -
When
nameis not a plain string the avatar's accessible name falls back to the hardcoded English string 'Player' — pass a stringnamein localized apps. -
onClickgives the row a pointer cursor but no keyboard/role semantics. -
Requires a wired ClassMap bond;
<Avatar>comes from@molecule/app-ui-react.