organizationAvatar.tsx 934 B

123456789101112131415161718192021222324252627282930313233
  1. import {Component} from 'react';
  2. import BaseAvatar from 'app/components/avatar/baseAvatar';
  3. import {OrganizationSummary} from 'app/types';
  4. import {explodeSlug} from 'app/utils';
  5. type Props = {
  6. organization?: OrganizationSummary;
  7. } & Omit<BaseAvatar['props'], 'uploadPath' | 'uploadId'>;
  8. class OrganizationAvatar extends Component<Props> {
  9. render() {
  10. const {organization, ...props} = this.props;
  11. if (!organization) {
  12. return null;
  13. }
  14. const slug = (organization && organization.slug) || '';
  15. const title = explodeSlug(slug);
  16. return (
  17. <BaseAvatar
  18. {...props}
  19. type={(organization.avatar && organization.avatar.avatarType) || 'letter_avatar'}
  20. uploadPath="organization-avatar"
  21. uploadId={organization.avatar && organization.avatar.avatarUuid}
  22. letterId={slug}
  23. tooltip={slug}
  24. title={title}
  25. />
  26. );
  27. }
  28. }
  29. export default OrganizationAvatar;