renderingSystem.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 trackAdvancedAnalyticsEvent from 'sentry/utils/analytics/trackAdvancedAnalyticsEvent';
  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. trackAdvancedAnalyticsEvent(
  20. 'issue_details.view_hierarchy.hover_rendering_system',
  21. {
  22. organization,
  23. platform,
  24. user_org_role: organization.orgRole,
  25. }
  26. );
  27. }}
  28. data-test-id="rendering-system-icon"
  29. platform={platform ?? 'generic'}
  30. size={21}
  31. radius={null}
  32. />
  33. </Tooltip>
  34. </Container>
  35. );
  36. }
  37. export {RenderingSystem};
  38. const Container = styled('div')`
  39. position: absolute;
  40. top: -0.5px;
  41. left: -${space(3)};
  42. z-index: 1;
  43. img {
  44. border-radius: 4px 0 0 4px;
  45. }
  46. `;