disabledMetricsAlertTooltip.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import {Fragment} from 'react';
  2. import styled from '@emotion/styled';
  3. import {Tooltip} from 'sentry/components/tooltip';
  4. import {t} from 'sentry/locale';
  5. import {space} from 'sentry/styles/space';
  6. import type {Organization} from 'sentry/types/organization';
  7. import UpgradeOrTrialButton from 'getsentry/components/upgradeOrTrialButton';
  8. import withSubscription from 'getsentry/components/withSubscription';
  9. import type {Subscription} from 'getsentry/types';
  10. type Props = React.PropsWithChildren<{
  11. organization: Organization;
  12. subscription: Subscription;
  13. }>;
  14. function DisabledMetricsAlertTooltip({organization, subscription, children}: Props) {
  15. return (
  16. <Tooltip
  17. isHoverable
  18. title={
  19. <Fragment>
  20. <Description>
  21. {t('This type of alert is not available on your plan.')}
  22. </Description>
  23. <UpgradeOrTrialButton
  24. size="xs"
  25. organization={organization}
  26. source="metrics"
  27. subscription={subscription}
  28. />
  29. </Fragment>
  30. }
  31. >
  32. {children}
  33. </Tooltip>
  34. );
  35. }
  36. export default withSubscription(DisabledMetricsAlertTooltip);
  37. const Description = styled('div')`
  38. margin: 0 0 ${space(1)} 0;
  39. `;