PeopleRow

The studio's people as a row of tiles, stories-style but squircles, on top of the Team schedule: an Add tile first (captioned Member — the plus says it adds), then each person's initial on a quiet gray tile, the letter pushed back, with their name below. The chosen one is ringed in the studio's second colour, deep (studio-2-deep), with a white gap, letter and name in ink; tapping them again opens them. Too many to fit, and the row scrolls sideways, keeping the chosen one in view.

Playground

Tap someone, or the plus

Team

Clips, faded, timed

The landing hero's crafts. A tile can carry a clip: the chosen one plays it, silent and looping over its photo, so one plays at a time. muted fades the rest to 65%, their colours kept. trace swaps the still ring and its white gap for one that traces once round the chosen tile in that many seconds — a timer (the hero's conversation), in ink over a faint track, following the tile's corners; tracing={false} holds it. Tap another to restart it.

API

PropTypeDefaultDescription
people{ id: string; name: string; label?: string; photo?: string | null; video?: string | null }[]—A tile each, in order. label captions the tile instead of the name — "You" for the signed-in member — while the letter stays the name's.
selectedstring—The chosen person's id: a deeper tile, pressed.
onSelect(id: string) => void—A tap on a person — the chosen one again, to open them.
onAdd() => void—The Add tile: someone new. Left out, there's no Add tile — for staff, who can't add members.
mutedbooleanfalseThe rest faded to 65%, their colours kept: the chosen one stands forward.
tracenumber—Seconds the chosen one's ring takes to trace once round, in place of the still ring and its white gap: a timer.
tracingbooleantrueThe trace runs; false holds it where it is (off screen).
labelsPartial<PeopleRowLabels>EnglishThe row's name (Team), the Add tile's caption (Member) and full name (Add member), and “details”, said after the chosen person.

Guidelines

  • A tile is the person's photo, or their initial on quiet gray: the ring means one thing — chosen.
  • Names truncate under their tile rather than wrap; the full name is the button's.
  • The row scrolls only itself to keep the chosen tile in view — never the page.