mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-07-25 15:55:43 +02:00
feat(dashboard): use username instead of email for the generation of the
fallback avatar image
This commit is contained in:
@@ -268,7 +268,7 @@ export const ProfileForm = () => {
|
|||||||
</FormControl>
|
</FormControl>
|
||||||
|
|
||||||
<Avatar className="default-avatar h-12 w-12 rounded-full border hover:p-px hover:border-primary transition-transform">
|
<Avatar className="default-avatar h-12 w-12 rounded-full border hover:p-px hover:border-primary transition-transform">
|
||||||
<AvatarFallback className="rounded-lg">{getFallbackAvatarInitials(data?.user?.email)}</AvatarFallback>
|
<AvatarFallback className="rounded-lg">{getFallbackAvatarInitials(data?.user?.name)}</AvatarFallback>
|
||||||
</Avatar>
|
</Avatar>
|
||||||
</FormLabel>
|
</FormLabel>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export const UserNav = () => {
|
|||||||
src={data?.user?.image || ""}
|
src={data?.user?.image || ""}
|
||||||
alt={data?.user?.image || ""}
|
alt={data?.user?.image || ""}
|
||||||
/>
|
/>
|
||||||
<AvatarFallback className="rounded-lg">{getFallbackAvatarInitials(data?.user?.email)}</AvatarFallback>
|
<AvatarFallback className="rounded-lg">{getFallbackAvatarInitials(data?.user?.name)}</AvatarFallback>
|
||||||
</Avatar>
|
</Avatar>
|
||||||
<div className="grid flex-1 text-left text-sm leading-tight">
|
<div className="grid flex-1 text-left text-sm leading-tight">
|
||||||
<span className="truncate font-semibold">Account</span>
|
<span className="truncate font-semibold">Account</span>
|
||||||
|
|||||||
@@ -28,14 +28,11 @@ export function formatTimestamp(timestamp: string | number) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getFallbackAvatarInitials(email: string | undefined): string {
|
export function getFallbackAvatarInitials(fullName: string | undefined): string {
|
||||||
if (typeof email === "undefined") return "CN";
|
if (typeof fullName === "undefined" || fullName === "") return "CN";
|
||||||
|
const [ name = "", surname = "" ] = fullName.split(" ");
|
||||||
const [emailUsername = ""] = email.split('@');
|
if (surname === "") {
|
||||||
const parts = emailUsername.split(/[\._-]+/).filter(Boolean);
|
return (name.substring(0,2)).toUpperCase();
|
||||||
if (parts.length >= 2) {
|
|
||||||
// @ts-ignore we are sure parts[0] and parts[1] exist
|
|
||||||
return (parts[0]?.charAt(0) + parts[1].charAt(0)).toUpperCase();
|
|
||||||
}
|
}
|
||||||
return emailUsername.slice(0, 2).toUpperCase();
|
return (name.charAt(0) + surname.charAt(0)).toUpperCase();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user