Work / Scrvio / Wiki / Surfaces
change-role
Surfacecanonicalverified 2026-10-04
SURFACE.WEB.CHANGE-ROLESummary
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