Răsfoiți Sursa

Display the organization image in the account view (#4953)

Matt Rubens 6 luni în urmă
părinte
comite
8370591ec0

+ 1 - 0
packages/cloud/src/AuthService.ts

@@ -488,6 +488,7 @@ export class AuthService extends EventEmitter<AuthServiceEvents> {
 					userInfo.organizationId = organization.id
 					userInfo.organizationName = organization.name
 					userInfo.organizationRole = primaryOrgMembership.role
+					userInfo.organizationImageUrl = organization.image_url
 				}
 			}
 		} catch (error) {

+ 1 - 0
packages/types/src/cloud.ts

@@ -13,6 +13,7 @@ export interface CloudUserInfo {
 	organizationId?: string
 	organizationName?: string
 	organizationRole?: string
+	organizationImageUrl?: string
 }
 
 /**

+ 14 - 5
webview-ui/src/components/account/AccountView.tsx

@@ -41,15 +41,24 @@ export const AccountView = ({ userInfo, isAuthenticated, onDone }: AccountViewPr
 									</div>
 								)}
 							</div>
-							<h2 className="text-lg font-medium text-vscode-foreground mb-1">
+							<h2 className="text-lg font-medium text-vscode-foreground mb-0">
 								{userInfo?.name || t("account:unknownUser")}
 							</h2>
+							{userInfo?.email && (
+								<p className="text-sm text-vscode-descriptionForeground">{userInfo?.email}</p>
+							)}
 							{userInfo?.organizationName && (
-								<p className="text-sm text-vscode-descriptionForeground mb-1">
-									{userInfo.organizationName}
-								</p>
+								<div className="flex items-center gap-2 text-sm text-vscode-descriptionForeground">
+									{userInfo.organizationImageUrl && (
+										<img
+											src={userInfo.organizationImageUrl}
+											alt={userInfo.organizationName}
+											className="w-4 h-4 rounded object-cover"
+										/>
+									)}
+									<span>{userInfo.organizationName}</span>
+								</div>
 							)}
-							<p className="text-sm text-vscode-descriptionForeground">{userInfo?.email || ""}</p>
 						</div>
 					)}
 					<div className="flex flex-col gap-2 mt-4">