Profile Screen

User profile management with avatar, password, 2FA, sessions, and activity log.


Layout

+------------------------------------------------------------------+
|  My Profile                                                       |
+------------------------------------------------------------------+
|  Profile │ Security │ Sessions │ Activity                         |
+------------------------------------------------------------------+
|  ┌──────────────────────────────────────────────────────────────┐|
|  │         ┌──────────┐                                        │|
|  │         │  Avatar  │   Administrator                        │|
|  │         │   (📷)   │   admin@example.com                    │|
|  │         └──────────┘                                        │|
|  │                                                              │|
|  │ Display Name: [Administrator_______________]                │|
|  │ Email: [admin@example.com_________________]                 │|
|  │                                                              │|
|  │ [Update Profile]                                             │|
|  └──────────────────────────────────────────────────────────────┘|
+------------------------------------------------------------------+

Tabs

TabContent
ProfileAvatar, display name, email
SecurityPassword change, 2FA setup/disable
SessionsActive session management
ActivityRecent activity log

Features

Profile Tab

FeatureDescription
Avatar UploadBase64 image, max 512KB
Avatar RemoveDelete avatar
Display NameUpdate display name
EmailChange email address

Security Tab

FeatureDescription
Change PasswordCurrent + new password
2FA SetupQR code + TOTP verification
2FA DisableRequires current password

Sessions Tab

FeatureDescription
Session ListIP, user agent, login time
Current SessionHighlighted indicator
Revoke SessionKill individual session

Activity Tab

FeatureDescription
Activity LogRecent actions with timestamps
Action Typesauth.login, file.upload, etc.

2FA Setup Flow

1. Click "Enable 2FA"
2. QR code displayed
3. Scan with authenticator app
4. Enter 6-digit code to verify
5. 2FA enabled

Event Delegation

Buttons use data-profile-action attributes. Events bind to #viewProfile (not #profileContent) because modals are siblings outside the content container.


CSS Classes

ClassPurpose
.profile-avatarAvatar container
.profile-avatar-uploadUpload overlay
.profile-2fa2FA section
.profile-qr-codeQR code image
.profile-sessionsSessions list
.profile-activityActivity log

API Calls

MethodEndpointPurpose
GET/api/profileGet profile
PUT/api/profile/passwordChange password
PUT/api/profile/emailChange email
PUT/api/profile/display-nameChange name
POST/api/profile/avatarUpload avatar
DELETE/api/profile/avatarRemove avatar
POST/api/profile/2fa/setupInit 2FA
POST/api/profile/2fa/verifyVerify 2FA
POST/api/profile/2fa/disableDisable 2FA
GET/api/profile/sessionsList sessions
DELETE/api/profile/sessions/:idRevoke session
GET/api/profile/activityActivity log

Part of NexusPanel Documentation

← Back to Documentation