@@ -24,6 +24,7 @@ import { translateEmailStatus, formatDateStatus, formatEmail } from '../../lib/l import { getModalById, PLATE_CHANGE_PASSWORD, RESEND_INVATION_PASSWORD } from '#/features/modals' import { ResponseGetBusinessGroups } from '#/features/invite-person-in-business/model/types' import { useShowDataStore } from '#/shared/lib/hooks/use-show-data' +import { resendInvation } from '#/features/resend-invation-corp/api/resend-invation' export const PersonsList = ({ personsList, @@ -39,9 +40,10 @@ export const PersonsList = ({ const [inviteModal, setInviteModal] = useState(false) const [currentPerson, setCurrentPerson] = useState(null) + const { data: session } = useSession() + const passChangeModal = getModalById(PLATE_CHANGE_PASSWORD) const passResendModal = getModalById(RESEND_INVATION_PASSWORD) - const { data: session } = useSession() useEffect(() => { setPersons(personsList) @@ -80,6 +82,24 @@ export const PersonsList = ({ showMessage(`Лимит пользователя ${email} успешно изменён!`, 'success') } + const handleOpenResendModal = async (email: string) => { + const response = await resendInvation(email, session?.access) + + if (response.status == 200) { + showMessage('Приглашение переотправлено!', 'success') + setPersons((prev) => + prev?.map((el) => { + if (el.email === email) { + return { ...el, acceptance_status: 'pending' as const } + } + return el + }) ?? null + ) + } else { + showMessage(response.data) + } + } + useEffect(() => { setSearchPersons((pre) => { if (!persons) { @@ -161,11 +181,7 @@ export const PersonsList = ({ {statusPerson === 'Приглашен' ? (