import React from 'react'; import { CopyToClipboard } from 'react-copy-to-clipboard'; import Avatar from '@/_ui/Avatar'; import Skeleton from 'react-loading-skeleton'; import cx from 'classnames'; import { Pagination } from '@/_components'; import { ButtonSolid } from '@/_ui/AppButton/AppButton'; import SolidIcon from '@/_ui/Icon/SolidIcons'; import { Tooltip } from 'react-tooltip'; const UsersTable = ({ isLoading, users, archivingUser, unarchivingUser, generateInvitationURL, invitationLinkCopyHandler, unarchiveOrgUser, archiveOrgUser, meta, pageChanged, darkMode, translator, }) => { return (
{users && users[0]?.status ? ( ) : ( )} {isLoading ? ( {Array.from(Array(4)).map((_item, index) => ( {users && users[0]?.status && ( )} ))} ) : ( {Array.isArray(users) && users.length > 0 && users.map((user) => ( {user.status && ( )} ))} )}
{translator('header.organization.menus.manageUsers.name', 'Name')} {translator('header.organization.menus.manageUsers.email', 'Email')} {translator('header.organization.menus.manageUsers.status', 'Status')}
{user.name} {user.email} {user.status} {user.status === 'invited' && 'invitation_token' in user ? (

Copy link

) : ( '' )}
{ user.status === 'archived' ? unarchiveOrgUser(user.id) : archiveOrgUser(user.id); }} data-cy="button-user-status-change" > {user.status === 'archived' ? translator('header.organization.menus.manageUsers.unarchive', 'Unarchive') : translator('header.organization.menus.manageUsers.archive', 'Archive')}
{meta.total_count > 10 && ( )}
); }; export default UsersTable;