view-member.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import MemberPrivileges from './member-privileges'
  2. import OLRow from '@/shared/components/ol/ol-row'
  3. import OLCol from '@/shared/components/ol/ol-col'
  4. import ShareProjectModalRow from '@/features/share-project-modal/components/share-project-modal-row'
  5. import MaterialIcon from '@/shared/components/material-icon'
  6. import { ProjectMember } from '@/shared/context/types/project-metadata'
  7. import { useFeatureFlag } from '@/shared/context/split-test-context'
  8. export default function ViewMember({ member }: { member: ProjectMember }) {
  9. const isSharingUpdatesEnabled = useFeatureFlag('sharing-updates')
  10. return isSharingUpdatesEnabled ? (
  11. <ShareProjectModalRow>
  12. <div className="d-inline-flex align-items-center h5 m-0 gap-2">
  13. <MaterialIcon type="person" unfilled />
  14. <div className="px-2">{member.email}</div>
  15. </div>
  16. <div className="h5 m-0 px-4 fw-semibold">
  17. <div className="form-control-plaintext border-0">
  18. <MemberPrivileges privileges={member.privileges} />
  19. </div>
  20. </div>
  21. </ShareProjectModalRow>
  22. ) : (
  23. <OLRow className="project-member">
  24. <OLCol xs={8}>
  25. <div className="project-member-email-icon">
  26. <MaterialIcon type="person" />
  27. <div className="email-warning">{member.email}</div>
  28. </div>
  29. </OLCol>
  30. <OLCol xs={4} className="text-end">
  31. <MemberPrivileges privileges={member.privileges} />
  32. </OLCol>
  33. </OLRow>
  34. )
  35. }