ultisuite-client/lib/hooks/use-chrome-identity.ts
2026-05-25 13:52:40 +02:00

34 lines
782 B
TypeScript

"use client"
import { useAuthStore } from "@/lib/api/auth-store"
import { useActiveAccount } from "@/lib/stores/account-store"
/** Identity shown in header avatar / account menu (OIDC user, else active mail account). */
export function useChromeIdentity(): {
name: string
email: string
firstName: string
} | null {
const platformUser = useAuthStore((s) => s.user)
const mailAccount = useActiveAccount()
if (platformUser) {
return {
name: platformUser.name,
email: platformUser.email,
firstName: platformUser.firstName,
}
}
if (mailAccount) {
const firstName = mailAccount.name.split(/\s+/)[0] ?? mailAccount.name
return {
name: mailAccount.name,
email: mailAccount.email,
firstName,
}
}
return null
}