'use client'; import * as React from 'react'; import { Button } from './button.js'; import { MinMaxButton } from './min-max-button.js'; import { getOrganizationAction, handleSignOutAction } from '../actions.js'; import { useAuth } from './authkit-provider.js'; interface ImpersonationProps extends React.ComponentPropsWithoutRef<'div'> { side?: 'top' | 'bottom'; returnTo?: string; } export function Impersonation({ side = 'bottom', returnTo, ...props }: ImpersonationProps) { const { user, impersonator, organizationId } = useAuth(); const [organization, setOrganization] = React.useState<{ id: string; name: string } | null>(null); React.useEffect(() => { if (!organizationId || !impersonator || !user) return; if (organization && organization.id === organizationId) return; getOrganizationAction(organizationId).then(setOrganization); }, [organizationId, impersonator, user]); if (!impersonator || !user) return null; return (