StealThis .dev
Pages Medium

SaaS — Team Members & Roles

A polished access-management page for a fictional SaaS workspace: a searchable, filterable members table with avatars, inline role selects, status badges and last-active times, plus an invite-by-email form with validation, a live pending-invites list with resend and revoke, a role-permissions summary, a seats-used meter, and a confirm-to-remove dialog. Ships with a working light and dark theme toggle and toast feedback on every action.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Team Members & Roles

A self-contained team and access-management page for a fictional SaaS workspace. The left column holds a members table — avatar, name, email, an inline role select, a status badge (active, invited, suspended), and last-active time — with a live search box and role filter chips. The right column stacks an invite-by-email form, a pending-invites list, and a role-permissions summary, while the header tracks seats used against the plan limit.

Every interaction works in vanilla JS. Inviting a valid, non-duplicate email adds an animated pending row and fires a toast; changing a role updates inline; removing a member opens a focus-trapped confirm dialog and frees a seat. Pending invites can be resent or revoked, search and filters narrow the table with an intentional empty state, and a theme toggle switches between fully styled light and dark modes. The Owner row is protected from removal and role changes, and the seats meter turns amber when the workspace is full.

Illustrative SaaS UI only — fictional product, metrics, and billing. No real backend.