replayInlineCTAPanel.tsx 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import styled from '@emotion/styled';
  2. import replaysInlineOnboarding from 'sentry-images/spot/replay-onboarding-backend.svg';
  3. import PageBanner from 'sentry/components/alerts/pageBanner';
  4. import {Button} from 'sentry/components/button';
  5. import ButtonBar from 'sentry/components/buttonBar';
  6. import {IconBroadcast} from 'sentry/icons/iconBroadcast';
  7. import {t} from 'sentry/locale';
  8. import {useReplayOnboardingSidebarPanel} from 'sentry/utils/replays/hooks/useReplayOnboarding';
  9. export default function ReplayInlineCTAPanel() {
  10. const {activateSidebar} = useReplayOnboardingSidebarPanel();
  11. return (
  12. <PageBanner
  13. button={
  14. <ButtonBar gap={1}>
  15. <Button
  16. priority="primary"
  17. analyticsEventName="Clicked Replay Onboarding CTA Button in User Feedback"
  18. analyticsEventKey="feedback.replay-onboarding-cta-button-clicked"
  19. onClick={activateSidebar}
  20. >
  21. {t('Set Up Now')}
  22. </Button>
  23. </ButtonBar>
  24. }
  25. description={t(
  26. "Don't fully understand the feedback message? Install Session Replay to see what the user was doing leading up to the feedback submission."
  27. )}
  28. heading={t('Set Up Session Replay')}
  29. icon={<IconBroadcast size="sm" color="purple300" />}
  30. image={replaysInlineOnboarding}
  31. title={<PurpleText>{t('Session Replay')}</PurpleText>}
  32. />
  33. );
  34. }
  35. const PurpleText = styled('span')`
  36. color: ${p => p.theme.purple300};
  37. font-weight: ${p => p.theme.fontWeightBold};
  38. `;