---
title: "Profile settings form"
description: "A profile form with a photo you can drop in, a username with its address, and a save footer that wakes when anything changes."
plan: Pro
docs: https://ui.edbn.me/docs/blocks/profile-settings
---

# Profile settings form

A profile form with a photo you can drop in, a username with its address, and a save footer that wakes when anything changes.

Any change turns the footer to “Unsaved changes” and enables Cancel and Save; Escape or Cancel puts every field back. Save checks the name, the email and the username (format and whether it's taken) and focuses the first problem, then saves with a spinner. A photo can be picked or dropped on the row; anything but a PNG, JPG or WebP up to 2 MB is refused with the reason. A new email shows as unconfirmed, with Resend link.

A Pro block built on Base UI and Tailwind CSS v4.

## Installation

This is a Pro item. Once per project, create a token at https://ui.edbn.me/dashboard/tokens, put it in `.env.local` as `EDBN_TOKEN`, and add the registry to `components.json`:

```json
{
  "registries": {
    "@edbn": {
      "url": "https://ui.edbn.me/r/{name}.json",
      "headers": { "Authorization": "Bearer ${EDBN_TOKEN}" }
    }
  }
}
```

Then install:

```bash
npx shadcn@4.19.0 add @edbn/profile-settings
```

## Dependencies
- npm: lucide-react@^1.33.0
- edbn: edbn-base, avatar, button, card, dropzone, field, input, input-group, select, separator, spinner, text-link, textarea

## Source

The source is part of Pro (https://ui.edbn.me/pricing). The install above adds it to the project, ready to edit.

## More settings blocks

All 5, with install commands: https://ui.edbn.me/docs/blocks/settings · https://ui.edbn.me/docs/blocks/settings.md

## For agents
- Base theme, once per project: npx shadcn@4.19.0 add https://ui.edbn.me/r/edbn-base.json
- MCP server with search, items, examples and source: https://ui.edbn.me/mcp
- Every page and item: https://ui.edbn.me/llms.txt
