Skip to content

Work / Scrvio / Wiki / Surfaces

change-role

Surfacecanonicalverified 2026-10-04

SURFACE.WEB.CHANGE-ROLE

Summary

The Change Member Role modal: one select and a Cancel button.

Raw wireframe

  • .context/designs/web/workspace/change-role.html

Why it is drawn this way

There is no Save. The select's onValueChange calls handleUpdateRole directly. Picking a role saves it, toasts and closes the modal. Cancel is the only button.

Two roles only. The options are Member and Admin. Owner cannot be assigned here, and the owner's row never opens this modal.

Reselecting does nothing. The select opens on the member's current role. A native select fires no change for the same value, so the only exit then is Cancel or the X.

The role descriptions are the spec. The two lines under the select are the only place the product says what Member and Admin can do.

The select is native. select.tsx renders a browser <select>. The chevron is drawn to show that; the app imports no icon for it.

Related

Sources

  • apps/website/src/app/workspace/[id]/members/page.tsx
  • packages/ui/src/components/ui/select.tsx
  • packages/ui/src/components/ui/modal.tsx