Settings — Profile
Anatomy
A composed application section with typed inputs and native HTML output.
maud_ui::blocks::settings::profile
Props
Generated from public Rust fields. Defaults are evaluated from the implementation.
| Prop | Type | Default | Description |
|---|---|---|---|
action | String | "/settings/profile" | POST target for the profile form. Submits fields: name, email, bio. For the avatar upload, use a separate multipart endpoint — this block shows the current avatar but doesn't include a file input (decoupled so the form can be a regular POST). |
name | String | "" | Current display name. |
email | String | "" | Current email address. |
avatar_initials | String | "" | Two-letter initials fallback for the avatar when there's no image — matches the shell::sidebar pattern so shells stay consistent. |
bio | String | "" | Current bio (optional long-form about text). |
avatar_upload_action | Option<String> | None | Avatar upload URL. None hides the "Change" button. |
avatar_remove_action | Option<String> | None | Remove-avatar URL. None hides the "Remove" button. |
success | Option<String> | None | Success notice shown at the top (e.g. "Profile updated"). |
error | Option<String> | None | Error banner shown at the top. |
delete_action | Option<String> | None | Delete-account POST target. When set, renders a "Danger zone" card at the bottom with a destructive button. None hides the section entirely. |
Examples
Profile
Update how you appear across the app.
Delete account
Permanently delete your account and all associated data. This can’t be undone.
Accessibility
Supply meaningful labels, choose heading levels for the surrounding page, and preserve native link and form behavior. Keyboard focus follows document order. Motion honors reduced-motion preferences.