bufferingOverlay.tsx 939 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import styled from '@emotion/styled';
  2. import {IconClock} from 'sentry/icons';
  3. import {t} from 'sentry/locale';
  4. import {space} from 'sentry/styles/space';
  5. type Props = {
  6. className?: string;
  7. };
  8. function BufferingOverlay({className}: Props) {
  9. return (
  10. <Overlay className={className}>
  11. <Message>
  12. <IconClock size="sm" />
  13. {t('Buffering...')}
  14. </Message>
  15. </Overlay>
  16. );
  17. }
  18. /* Position the badge in the corner */
  19. const Overlay = styled('div')`
  20. user-select: none;
  21. display: grid;
  22. place-items: center;
  23. `;
  24. /* Badge layout and style */
  25. const Message = styled('div')`
  26. display: grid;
  27. grid-template-columns: max-content max-content;
  28. gap: ${space(0.75)};
  29. place-items: center;
  30. padding: ${space(3)};
  31. background: ${p => p.theme.gray300};
  32. border-radius: ${p => p.theme.borderRadius};
  33. color: ${p => p.theme.white};
  34. z-index: ${p => p.theme.zIndex.initial};
  35. `;
  36. export default BufferingOverlay;