send-invites.jsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import AddCollaborators from './add-collaborators'
  2. import AddCollaboratorsUpgrade from './add-collaborators-upgrade'
  3. import CollaboratorsLimitUpgrade from './collaborators-limit-upgrade'
  4. import AccessLevelsChanged from './access-levels-changed'
  5. import PropTypes from 'prop-types'
  6. import OLRow from '@/features/ui/components/ol/ol-row'
  7. export default function SendInvites({
  8. canAddCollaborators,
  9. hasExceededCollaboratorLimit,
  10. haveAnyEditorsBeenDowngraded,
  11. somePendingEditorsResolved,
  12. }) {
  13. return (
  14. <OLRow className="invite-controls">
  15. {hasExceededCollaboratorLimit && !haveAnyEditorsBeenDowngraded && (
  16. <AddCollaboratorsUpgrade />
  17. )}
  18. {haveAnyEditorsBeenDowngraded && (
  19. <AccessLevelsChanged
  20. somePendingEditorsResolved={somePendingEditorsResolved}
  21. />
  22. )}
  23. {!canAddCollaborators &&
  24. !hasExceededCollaboratorLimit &&
  25. !haveAnyEditorsBeenDowngraded && <CollaboratorsLimitUpgrade />}
  26. <AddCollaborators readOnly={!canAddCollaborators} />
  27. </OLRow>
  28. )
  29. }
  30. SendInvites.propTypes = {
  31. canAddCollaborators: PropTypes.bool,
  32. hasExceededCollaboratorLimit: PropTypes.bool,
  33. haveAnyEditorsBeenDowngraded: PropTypes.bool,
  34. somePendingEditorsResolved: PropTypes.bool,
  35. }