# Account Settings Modal block

> Tabbed account settings dialog with sidebar rail for profile, workspace, team and billing

Modal account settings dialog with a 5-tab sidebar (Profile, Workspace, Team, Billing, Preferences); each scrollable panel pairs labels with avatar upload, Inputs, Selects, Switches and a verified Badge. Uses Dialog, Tabs, ScrollArea, Field.

- Type: Pro block
- Category: [Dialog](https://web.dev.reui.io/blocks/application/dialog.md)
- Page: https://web.dev.reui.io/blocks/application/dialog/dialog-10
- Docs (Base UI): https://ui.shadcn.com/docs/components/base/dialog.md
- Docs (Radix UI): https://ui.shadcn.com/docs/components/radix/dialog.md
- MCP: `get_block("dialog-10")`
- Built with: Avatar, Badge, Button, Dialog, Field, Input, Input Group, Scroll Area, Select, Switch, Tabs, Textarea, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

A 5 tab settings modal whose side rail becomes a scrolling strip on small screens, with the title following the tab

## Agent notes

- Replace `PROFILE_IDENTITY`, `WORKSPACE_IDENTITY`, `BILLING_IDENTITY` and option lists such as `PLAN_OPTIONS` in data.tsx with your account data
- Every input, select and switch is uncontrolled through `defaultValue` or `defaultChecked`; control them and send the values from the form `onSubmit`
- `useIsMobile` is called with 1024, but the stock `use-mobile` hook takes no argument and switches at 768px; add a breakpoint parameter

## When not to use

- Account settings as a full page with a searchable team member table: use [Account & Team Settings](https://web.dev.reui.io/blocks/application/profile/profile-1.md) (`get_block("profile-1")`)
- An account page with a password change, active sessions to revoke and plans: use [Account Settings](https://web.dev.reui.io/blocks/application/settings/settings-7.md) (`get_block("settings-7")`)

## Install

```bash
npx shadcn@latest add @reui/dialog-10
```

## About Dialog blocks

### When to use

- New record forms over the current page: a project, a quick task or entry, or a finance account
- Access flows: email invites with a role, an app picker and the consent step before a sync
- Pickers and account tasks: a time span, a starter template, settings, a checklist, cancellation or help

### When not to use

- A plain modal shell you fill with your own title, body and buttons: use [Dialog](https://web.dev.reui.io/components/dialog.md) (`get_component("dialog")`)
- A data entry layout that sits in the page itself rather than over it: use the [Form blocks](https://web.dev.reui.io/blocks/application/form.md)
- A one question confirm, such as deleting a record, with nothing to fill in: use [Alert Dialog](https://web.dev.reui.io/components/alert-dialog.md) (`get_component("alert-dialog")`)

### Agent notes

- Each root renders its own launch `Button` and starts `open` as true in `useState`; swap in your trigger and start it closed
- Primary actions only close through `setOpen`, fire a sonner `toast` or have no handler; wire your submit and API call there
- Each page.tsx centers the root in a `min-h-svh` main with an `sr-only` h1; mount only the root component inside your page

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
