affectUI › Screens › App screens

Settings / Profile

Profile settings with a settings sidebar: picture, name, role and email as rows, time preferences, personal context for the assistant and the password.

Part of affectUI Pro. Install: npx shadcn@latest add https://www.affectui.com/r/settings-profile.json · Import from @/components/ui/settings-profile

When to use

  • The profile page of an app's settings
  • Any settings page built of labelled rows – copy a row and swap its control

When not to use

  • Plans, payment and invoices – use Settings / Billing
  • Sign-up and onboarding – use Onboarding

Usage

import { SettingsProfileScreen } from "@/components/ui/settings-profile";

export default function Page() {
  return (
    <SettingsProfileScreen
      profile={{ firstName: "Alex", lastName: "Morgan", email: "alex@acme.com", timezone: "Europe/Vienna", weekStart: "Monday", context: "" }}
      onSave={(profile) => saveProfile(profile)}
      onNavigate={(label) => router.push(routes[label])}
    />
  );
}

Props

NameTypeDefaultDescription
profileProfileValuesfirstName, lastName, email, role?, timezone, weekStart, context, avatar?, hasPassword? – the sample profile when left out
onSave(profile: ProfileValues) => voidCalled with the whole profile whenever something is saved – text on blur, choices at once
onNavigate(label: string) => voidCalled with the label of a settings page, or "Back to app"
workspacestring"Acme"Workspace name, used by the shell
classNamestringExtra class on the root

Accessibility

  • Every field has a visible label; the picture's remove button and the selects carry their own labels
  • Selects open the shell's menu – arrow keys move, Enter picks, Escape closes
  • Saves are announced in a status toast

Responsive

  • Fills its container – give it the full viewport height in your app
  • In narrow panels each control moves under its label and takes the full width
  • Dark mode built in, from the App Shell tokens

Requirements

  • React 19
  • @hugeicons/react
  • @hugeicons/core-free-icons
  • App Shell and Button (installed with it)