feat: user profile customization with banner, accent color, bio, and full profile modal
Add banner image, accent color, and bio fields to user profiles with full-stack support: schema migration, API validation (hex color format, 190-char bio limit), sanitizeUser propagation, and new GET /users/:id/mutuals endpoint. Rewrite AccountPanel with live preview card, avatar/banner upload via ImageCropModal, 16-preset accent color picker, and bio editor. Enhance UserProfilePopout with banner display, accent-colored names, bio rendering, and mutual counts. Add new UserProfileModal with About/Mutual Friends/Mutual Spaces tabs and friend action buttons.
This commit is contained in:
@@ -5,6 +5,9 @@ export interface User {
|
||||
username: string;
|
||||
displayName: string | null;
|
||||
avatar: string | null;
|
||||
banner: string | null;
|
||||
accentColor: string | null;
|
||||
bio: string | null;
|
||||
status: UserStatus;
|
||||
customStatus: string | null;
|
||||
isAdmin: boolean;
|
||||
@@ -340,6 +343,9 @@ export interface UpdateSpaceRequest {
|
||||
export interface UpdateUserRequest {
|
||||
displayName?: string;
|
||||
avatar?: string;
|
||||
banner?: string;
|
||||
accentColor?: string;
|
||||
bio?: string;
|
||||
customStatus?: string;
|
||||
status?: UserStatus;
|
||||
replicatedInstances?: ReplicatedInstance[];
|
||||
@@ -404,6 +410,9 @@ export interface Friend {
|
||||
username: string;
|
||||
displayName: string | null;
|
||||
avatar: string | null;
|
||||
banner: string | null;
|
||||
accentColor: string | null;
|
||||
bio: string | null;
|
||||
status: UserStatus;
|
||||
customStatus: string | null;
|
||||
createdAt: number;
|
||||
|
||||
Reference in New Issue
Block a user