demoHeader.tsx 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import React from 'react';
  2. import styled from '@emotion/styled';
  3. import Button from 'app/components/button';
  4. import ButtonBar from 'app/components/buttonBar';
  5. import ExternalLink from 'app/components/links/externalLink';
  6. import {IconSentryFull} from 'app/icons';
  7. import {t} from 'app/locale';
  8. import space from 'app/styles/space';
  9. import {trackAdvancedAnalyticsEvent} from 'app/utils/advancedAnalytics';
  10. export default function DemoHeader() {
  11. return (
  12. <Wrapper>
  13. <LogoSvg />
  14. <ButtonBar gap={4}>
  15. <StyledExternalLink
  16. onClick={() => trackAdvancedAnalyticsEvent('growth.demo_click_docs', {}, null)}
  17. href="https://docs.sentry.io"
  18. >
  19. {t('Documentation')}
  20. </StyledExternalLink>
  21. <BaseButton
  22. priority="form"
  23. onClick={() =>
  24. trackAdvancedAnalyticsEvent('growth.demo_click_request_demo', {}, null)
  25. }
  26. href="https://sentry.io/_/demo/"
  27. >
  28. {t('Request a Demo')}
  29. </BaseButton>
  30. <GetStarted
  31. onClick={() =>
  32. trackAdvancedAnalyticsEvent('growth.demo_click_get_started', {}, null)
  33. }
  34. href="https://sentry.io/signup/"
  35. >
  36. {t('Sign Up for Free')}
  37. </GetStarted>
  38. </ButtonBar>
  39. </Wrapper>
  40. );
  41. }
  42. //Note many of the colors don't come from the theme as they come from the marketing site
  43. const Wrapper = styled('div')`
  44. padding-right: ${space(3)};
  45. background-color: ${p => p.theme.white};
  46. height: ${p => p.theme.demo.headerSize};
  47. display: flex;
  48. justify-content: space-between;
  49. text-transform: uppercase;
  50. margin-left: calc(-1 * ${p => p.theme.sidebar.expandedWidth});
  51. position: fixed;
  52. width: 100%;
  53. border-bottom: 1px solid ${p => p.theme.border};
  54. z-index: ${p => p.theme.zIndex.settingsSidebarNav};
  55. @media (max-width: ${p => p.theme.breakpoints[1]}) {
  56. height: ${p => p.theme.sidebar.mobileHeight};
  57. margin-left: 0;
  58. }
  59. `;
  60. const LogoSvg = styled(IconSentryFull)`
  61. margin-top: auto;
  62. margin-bottom: auto;
  63. margin-left: 20px;
  64. width: 130px;
  65. height: 30px;
  66. color: ${p => p.theme.textColor};
  67. `;
  68. const BaseButton = styled(Button)`
  69. border-radius: 2rem;
  70. text-transform: uppercase;
  71. `;
  72. //Note many of the colors don't come from the theme as they come from the marketing site
  73. const GetStarted = styled(BaseButton)`
  74. border-color: transparent;
  75. box-shadow: 0 2px 0 rgb(54 45 89 / 10%);
  76. background-color: #e1567c;
  77. color: #fff;
  78. `;
  79. const StyledExternalLink = styled(ExternalLink)`
  80. color: #584774;
  81. `;