import { useRouter } from 'next/router' import { Button } from 'ui' import { Admonition } from 'ui-patterns' import { OrganizationInviteByToken } from '@/data/organization-members/organization-invitation-token-query' import { useSignOut } from '@/lib/auth' import { useProfile } from '@/lib/profile' import type { ResponseError } from '@/types' interface OrganizationInviteError { data?: OrganizationInviteByToken error?: ResponseError | null isError: boolean isInvalidInvite?: boolean } export const OrganizationInviteError = ({ data, error, isError, isInvalidInvite, }: OrganizationInviteError) => { const router = useRouter() const signOut = useSignOut() const { profile } = useProfile() const handleSignOut = async () => { await signOut() router.reload() } if (isInvalidInvite) { return ( ) } if (isError) { return ( ) } if (!data?.email_match) { return (
You are signed in as{' '} {profile.primary_email}. Sign in with the email address that received this invite. ) : ( 'Sign in with the email address that received this invite.' ) } />
) } if (data.expired_token) { return ( ) } return ( ) }