fastForwardBadge.tsx 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import styled from '@emotion/styled';
  2. import Tooltip from 'sentry/components/tooltip';
  3. import {IconArrow} from 'sentry/icons';
  4. import {t} from 'sentry/locale';
  5. import space from 'sentry/styles/space';
  6. type Props = {
  7. speed: number;
  8. className?: string;
  9. };
  10. function FastForwardBadge({speed, className}: Props) {
  11. return (
  12. <Badge className={className}>
  13. <FastForwardTooltip title={t('Fast forwarding')}>
  14. <IconArrow size="sm" direction="right" />
  15. {speed}x
  16. </FastForwardTooltip>
  17. </Badge>
  18. );
  19. }
  20. /* Position the badge in the corner */
  21. const Badge = styled('div')`
  22. user-select: none;
  23. display: grid;
  24. align-items: end;
  25. justify-items: start;
  26. `;
  27. /* Badge layout and style */
  28. const FastForwardTooltip = styled(Tooltip)`
  29. display: grid;
  30. grid-template-columns: max-content max-content;
  31. gap: ${space(0.5)};
  32. align-items: center;
  33. background: ${p => p.theme.gray300};
  34. color: ${p => p.theme.white};
  35. padding: ${space(1.5)} ${space(2)};
  36. border-top-right-radius: ${p => p.theme.borderRadius};
  37. z-index: ${p => p.theme.zIndex.initial};
  38. `;
  39. export default FastForwardBadge;