'use client'; import { Trans, msg } from '@lingui/macro'; import { useLingui } from '@lingui/react'; import { Edit, Loader, Mail, MoreHorizontal, X } from 'lucide-react'; import type { getTeamByUrl } from '@documenso/lib/server-only/team/get-team'; import { trpc } from '@documenso/trpc/react'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '@documenso/ui/primitives/dropdown-menu'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { RemoveTeamEmailDialog } from '~/components/(teams)/dialogs/remove-team-email-dialog'; import { UpdateTeamEmailDialog } from '~/components/(teams)/dialogs/update-team-email-dialog'; export type TeamsSettingsPageProps = { team: Awaited>; }; export const TeamEmailDropdown = ({ team }: TeamsSettingsPageProps) => { const { _ } = useLingui(); const { toast } = useToast(); const { mutateAsync: resendEmailVerification, isLoading: isResendingEmailVerification } = trpc.team.resendTeamEmailVerification.useMutation({ onSuccess: () => { toast({ title: _(msg`Success`), description: _(msg`Email verification has been resent`), duration: 5000, }); }, onError: () => { toast({ title: _(msg`Something went wrong`), description: _(msg`Unable to resend verification at this time. Please try again.`), variant: 'destructive', duration: 10000, }); }, }); return ( {!team.teamEmail && team.emailVerification && ( { e.preventDefault(); void resendEmailVerification({ teamId: team.id }); }} > {isResendingEmailVerification ? ( ) : ( )} Resend verification )} {team.teamEmail && ( e.preventDefault()}> Edit } /> )} e.preventDefault()}> Remove } /> ); };