Skip to content

Work / Scrvio / Wiki / Surfaces

profile

Surfacecanonicalverified 2026-10-04

SURFACE.WEB.PROFILE

Summary

Profile settings: name, password entry point and account deletion.

Raw wireframe

  • .context/designs/web/settings/profile.html

Why it is drawn this way

Only the name can change. The mutation sends { name }. The email input is disabled with "Email cannot be changed" under it.

"Profile Picture" has no upload. The avatar is initials from the name; the caption reads "From {email}". There is no control to change it.

Validation is a toast. An empty name raises "Name is required". There is no inline field error.

Delete Account is not styled as destructive. The button is the default variant with red text, and its ConfirmDialog is not marked destructive, so the confirm button is the default "Confirm". See confirm-dialogs. On success the app pushes /.

Change Password expands in place. It is the same route; the open form is drawn as password.

Not drawn. Loading is a centred LoadingSpinner in a full-width container; the loaded page is size="md". Error is an ErrorCard titled "Error loading profile".

Related

Sources

  • apps/website/src/app/settings/profile/page.tsx
  • apps/website/src/components/profile/profile-form.tsx
  • apps/website/src/components/profile/danger-zone.tsx