Work / Scrvio / Wiki / Surfaces
confirm-dialogs
Surfacecanonicalverified 2026-10-04
SURFACE.WEB.CONFIRM-DIALOGSSummary
A specimen sheet of every ConfirmDialog the site raises.
Raw wireframe
- .context/designs/web/patterns/confirm-dialogs.html
Why it is drawn this way
Twelve dialogs, one component. Every <ConfirmDialog in apps/website/src and packages/ui/src, each labelled with the file that raises it. All are Modal size="sm".
Defaults are "Confirm" and "Cancel". Five dialogs pass no labels. Delete Public Link is destructive but keeps the default "Confirm".
Destructive is uneven. Seven pass destructive and get the red button. Five do not: Suspend User, Delete User, Remove Member, Delete Storage Config and Delete Account — all of them remove or block something.
Placeholders stand for runtime values. {count} and {s} in the library title, {provider} in the accounts dialog (the app fills the lowercase id), {workspace} in Delete Workspace.
While loading the confirm label is "...". Both buttons are disabled. Not drawn.
Drawn as cards, not over a backdrop. Four of these are also drawn in place as modal screens in their own flows.
Related
Sources
- packages/ui/src/components/ui/confirm-dialog.tsx
- packages/ui/src/components/ui/modal.tsx