Skip to content

C.10: Profile

Summary

The Profile page lets clients view and edit their personal, demographic, contact, emergency contact, and preference data. It also surfaces integrations UI shared with other roles.

Role

  • Primary: Client
  • Secondary: System, Calendar provider

Entry Point

  • URL: /profile
  • Navigation: User menu -> Profile
  • Redirect: /settings redirects to /profile

Preconditions

  • Authenticated: yes
  • Required role: client
  • Current user profile must load successfully

Steps

  1. Client opens the user menu in the dashboard layout.
  2. Client selects Profile.
  3. System opens /profile and loads the current user.
  4. System hydrates the editable form with profile fields.
  5. Client selects a profile section from the local sidebar.
  6. Client edits fields in Basic, Contact, Demographic, or Preferences sections.
  7. Client can change theme preference; the theme is applied immediately in the client.
  8. Client clicks Save Changes.
  9. System submits useUpdateCurrentUser.
  10. On success, system shows a success toast; on failure, it shows an error toast.

Diagram

Edge Cases

  • Loading: Profile renders inside dashboard layout with a loading state.
  • Email: Email is displayed read-only.
  • Counselor-only fields: Professional counselor fields are shown only when account_type is counselor; clients do not see that section.
  • Calendar callback messages: calendar_connected and calendar_error query parameters trigger success/error toasts and are then removed from the URL.
  • Integrations section: The integrations section is present in the profile tab structure; available actions depend on shared integration components and account state.
  • Save failure: User changes remain in the form, and an update failed toast is shown.

Screenshot Status

  • Captured: profile.png