import { useLHSession } from '@components/Contexts/LHSessionContext' import { useOrg } from '@components/Contexts/OrgContext' import PageLoading from '@components/Objects/Loaders/PageLoading' import Toast from '@components/Objects/StyledElements/Toast/Toast' import ToolTip from '@components/Objects/StyledElements/Tooltip/Tooltip' import { getAPIUrl } from '@services/config/config' import { inviteBatchUsers } from '@services/organizations/invites' import { swrFetcher } from '@services/utils/ts/requests' import { Info, UserPlus } from 'lucide-react' import React, { useEffect } from 'react' import toast from 'react-hot-toast' import useSWR, { mutate } from 'swr' function OrgUsersAdd() { const org = useOrg() as any const session = useLHSession() as any const access_token = session?.data?.tokens?.access_token; const [isLoading, setIsLoading] = React.useState(false) const [invitedUsers, setInvitedUsers] = React.useState(''); const [selectedInviteCode, setSelectedInviteCode] = React.useState(''); async function sendInvites() { setIsLoading(true) let res = await inviteBatchUsers(org.id, invitedUsers, selectedInviteCode,access_token) if (res.status == 200) { mutate(`${getAPIUrl()}orgs/${org?.id}/invites/users`) setIsLoading(false) } else { toast.error('Error ' + res.status + ': ' + res.data.detail) setIsLoading(false) } } const { data: invites } = useSWR( org ? `${getAPIUrl()}orgs/${org?.id}/invites` : null, (url) => swrFetcher(url, access_token) ) const { data: invited_users } = useSWR( org ? `${getAPIUrl()}orgs/${org?.id}/invites/users` : null, (url) => swrFetcher(url, access_token) ) useEffect(() => { if (invites) { setSelectedInviteCode(invites?.[0]?.invite_code_uuid) } } , [invites, invited_users]) return ( <> {!isLoading ? ( <>

Invite users to your Organization

{' '} Send invite via email, separated by comma{' '}

Invite Code

Invited Users

{' '} Users who have been invited to join your organization{' '}

<> {invited_users?.map((invited_user: any) => ( ))}
Email Signup Status Email sent
{invited_user.email} {invited_user.pending ?
Pending
:
Signed
}
{invited_user.email_sent ?
Sent
:
No
}
) : ( ) } ) } export default OrgUsersAdd