demoHeader.tsx 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 href="https://docs.sentry.io">
  16. {t('Documentation')}
  17. </StyledExternalLink>
  18. <GetStarted
  19. onClick={() =>
  20. trackAdvancedAnalyticsEvent('growth.demo_click_get_started', {}, null)
  21. }
  22. href="https://sentry.io/signup/"
  23. >
  24. {t('Sign Up')}
  25. </GetStarted>
  26. </ButtonBar>
  27. </Wrapper>
  28. );
  29. }
  30. //Note many of the colors don't come from the theme as they come from the marketing site
  31. const Wrapper = styled('div')`
  32. padding-right: ${space(3)};
  33. background-color: ${p => p.theme.white};
  34. height: ${p => p.theme.demo.headerSize};
  35. display: flex;
  36. justify-content: space-between;
  37. text-transform: uppercase;
  38. margin-left: calc(-1 * ${p => p.theme.sidebar.expandedWidth});
  39. position: fixed;
  40. width: 100%;
  41. border-bottom: 1px solid ${p => p.theme.border};
  42. z-index: ${p => p.theme.zIndex.settingsSidebarNav};
  43. @media (max-width: ${p => p.theme.breakpoints[1]}) {
  44. height: ${p => p.theme.sidebar.mobileHeight};
  45. margin-left: 0;
  46. }
  47. `;
  48. const LogoSvg = styled(IconSentryFull)`
  49. margin-top: auto;
  50. margin-bottom: auto;
  51. margin-left: 20px;
  52. width: 130px;
  53. height: 30px;
  54. color: ${p => p.theme.textColor};
  55. `;
  56. const GetStarted = styled(Button)`
  57. background-color: #e1567c;
  58. color: #fff;
  59. box-shadow: 0 2px 0 rgb(54 45 89 / 10%);
  60. border-color: transparent;
  61. border-radius: 2rem;
  62. text-transform: uppercase;
  63. `;
  64. const StyledExternalLink = styled(ExternalLink)`
  65. color: #584774;
  66. `;