eventMessage.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import styled from '@emotion/styled';
  2. import ErrorLevel from 'sentry/components/events/errorLevel';
  3. import space from 'sentry/styles/space';
  4. import {Level} from 'sentry/types';
  5. type Props = {
  6. annotations?: React.ReactNode;
  7. className?: string;
  8. hasGuideAnchor?: boolean;
  9. level?: Level;
  10. levelIndicatorSize?: string;
  11. message?: React.ReactNode;
  12. };
  13. const BaseEventMessage = ({
  14. className,
  15. level,
  16. levelIndicatorSize,
  17. message,
  18. annotations,
  19. }: Props) => (
  20. <div className={className}>
  21. {level && (
  22. <StyledErrorLevel size={levelIndicatorSize} level={level}>
  23. {level}
  24. </StyledErrorLevel>
  25. )}
  26. {message && <Message>{message}</Message>}
  27. {annotations}
  28. </div>
  29. );
  30. const EventMessage = styled(BaseEventMessage)`
  31. display: flex;
  32. align-items: center;
  33. position: relative;
  34. line-height: 1.2;
  35. overflow: hidden;
  36. `;
  37. const StyledErrorLevel = styled(ErrorLevel)`
  38. margin-right: ${space(1)};
  39. `;
  40. const Message = styled('span')`
  41. ${p => p.theme.overflowEllipsis}
  42. width: auto;
  43. max-height: 38px;
  44. `;
  45. export default EventMessage;