renderingSystem.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import styled from '@emotion/styled';
  2. import {PlatformIcon} from 'platformicons';
  3. import {Tooltip} from 'sentry/components/tooltip';
  4. import {t} from 'sentry/locale';
  5. import {space} from 'sentry/styles/space';
  6. import {trackAnalytics} from 'sentry/utils/analytics';
  7. import useOrganization from 'sentry/utils/useOrganization';
  8. type RenderingSystemProps = {
  9. platform?: string;
  10. system?: string;
  11. };
  12. function RenderingSystem({platform, system}: RenderingSystemProps) {
  13. const organization = useOrganization();
  14. return (
  15. <Container>
  16. <Tooltip title={t('Rendering System: %s', system ?? t('Unknown'))}>
  17. <PlatformIcon
  18. onMouseEnter={() => {
  19. trackAnalytics('issue_details.view_hierarchy.hover_rendering_system', {
  20. organization,
  21. platform,
  22. user_org_role: organization.orgRole,
  23. });
  24. }}
  25. data-test-id="rendering-system-icon"
  26. platform={platform ?? 'generic'}
  27. size={21}
  28. radius={null}
  29. />
  30. </Tooltip>
  31. </Container>
  32. );
  33. }
  34. export {RenderingSystem};
  35. const Container = styled('div')`
  36. position: absolute;
  37. top: -0.5px;
  38. left: -${space(3)};
  39. z-index: 1;
  40. img {
  41. border-radius: 4px 0 0 4px;
  42. }
  43. `;