StealThis .dev

Gym — Class Roster

A high-energy gym class roster with live attendance check-in. A neon-accented header shows the class name, time, coach and a capacity bar, while a searchable member list pairs gradient avatars and tier badges with Check-in and No-show toggles. Toggling animates each row between present, no-show and waitlist-promoted states as present, expected, no-show and waitlist counters update in real time. Includes a pending-only filter, a check-in-all action and a walk-in add row.

Відкрити в Lab
html css vanilla-js
Цілі: JS HTML

Код

Class Roster

A front-desk attendance panel for a live group class, built in the high-energy performance-gym look. The header leads with a bold class title, the start time, duration and coach, plus a neon capacity bar that reflects how full the session is. A four-up stat strip tracks Present, Expected, No-show and Waitlist counts that recalculate the moment any row changes.

Each member row carries a gradient avatar, name and a colour-coded membership tier (Day Pass, Core, Plus, Elite). Two pill toggles drive the row state: Check in flips a member to present and paints the row with a neon left rail, while No-show dims and flags them. Waitlist-promoted members get an amber accent. Every toggle triggers a quick flash micro-interaction and a toast confirmation.

A search box filters by name or tier, a Pending only toggle hides everyone already accounted for, Check in all sweeps the remaining members in one tap, and the walk-in row appends a new member already checked in — respecting the class capacity limit. Everything runs on vanilla JS with no dependencies.

Illustrative UI only — names, coaches and members are fictional.