34 lines
782 B
TypeScript
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
|
|
}
|