import { Modal, Badge, MonoText, Spinner, SectionHeader } from '@cameleer/design-system'; import { useMe } from '../api/queries/auth'; import styles from './AboutMeDialog.module.css'; interface AboutMeDialogProps { open: boolean; onClose: () => void; } export function AboutMeDialog({ open, onClose }: AboutMeDialogProps) { const { data: user, isLoading } = useMe(open); return ( {isLoading || !user ? (
) : (
Name {user.displayName} User ID {user.userId} Provider {user.provider} {user.email && ( <> Email {user.email} )} Created {new Date(user.createdAt).toLocaleDateString()}
Roles
{user.effectiveRoles.length === 0 && ( No roles assigned )} {user.effectiveRoles.map((role) => ( ))}
{user.effectiveRoles.some((r) => r.source !== 'direct') && (
{user.effectiveRoles.map((role) => ( {role.name}: {role.source} ))}
)} Groups
{user.effectiveGroups.length === 0 && ( No group memberships )} {user.effectiveGroups.map((group) => ( ))}
)}
); }