organizationAvatar.tsx 874 B

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