processings.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import styled from '@emotion/styled';
  2. import space from 'sentry/styles/space';
  3. import {ImageStatus} from 'sentry/types/debugImage';
  4. import ProcessingItem from '../processing/item';
  5. import ProcessingList from '../processing/list';
  6. import ProcessingIcon from './processingIcon';
  7. type Props = {
  8. debug_status?: ImageStatus | null;
  9. unwind_status?: ImageStatus | null;
  10. };
  11. function Processings({unwind_status, debug_status}: Props) {
  12. const items: React.ComponentProps<typeof ProcessingList>['items'] = [];
  13. if (debug_status) {
  14. items.push(
  15. <StyledProcessingItem
  16. key="symbolication"
  17. type="symbolication"
  18. icon={<ProcessingIcon status={debug_status} />}
  19. />
  20. );
  21. }
  22. if (unwind_status) {
  23. items.push(
  24. <StyledProcessingItem
  25. key="stack_unwinding"
  26. type="stack_unwinding"
  27. icon={<ProcessingIcon status={unwind_status} />}
  28. />
  29. );
  30. }
  31. return <StyledProcessingList items={items} />;
  32. }
  33. export default Processings;
  34. const StyledProcessingList = styled(ProcessingList)`
  35. display: flex;
  36. flex-wrap: wrap;
  37. margin-bottom: -${space(1)};
  38. `;
  39. const StyledProcessingItem = styled(ProcessingItem)`
  40. :not(:last-child) {
  41. padding-right: ${space(2)};
  42. }
  43. padding-bottom: ${space(1)};
  44. `;