import React, { useEffect } from 'react'; import UserList from './components/UserList'; import { PageTitle } from 'UI'; import { useStore } from 'App/mstore'; import { useObserver } from 'mobx-react-lite'; import UserSearch from './components/UserSearch'; import { useModal } from 'App/components/Modal'; import UserForm from './components/UserForm'; import { connect } from 'react-redux'; import AddUserButton from './components/AddUserButton'; import withPageTitle from 'HOCs/withPageTitle'; interface Props { isOnboarding?: boolean; account: any; isEnterprise: boolean; } function UsersView(props: Props) { const { account, isEnterprise, isOnboarding = false } = props; const { userStore, roleStore } = useStore(); const userCount = useObserver(() => userStore.list.length); const roles = useObserver(() => roleStore.list); const { showModal } = useModal(); const isAdmin = account.admin || account.superAdmin; const editHandler = (user: any = null) => { userStore.initUser(user).then(() => { showModal(, { right: true }); }); }; useEffect(() => { if (roles.length === 0 && isEnterprise) { roleStore.fetchRoles(); } }, []); return (
Team {userCount}
} />
editHandler(null)} />
{!isOnboarding && }
); } export default connect((state: any) => ({ account: state.getIn(['user', 'account']), isEnterprise: state.getIn(['user', 'account', 'edition']) === 'ee', }))(withPageTitle('Team - OpenReplay Preferences')(UsersView));