header.tsx 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import styled from '@emotion/styled';
  2. import {FeatureFeedback} from 'sentry/components/featureFeedback';
  3. import * as Layout from 'sentry/components/layouts/thirds';
  4. import Link from 'sentry/components/links/link';
  5. import {t} from 'sentry/locale';
  6. import space from 'sentry/styles/space';
  7. import {Organization} from 'sentry/types';
  8. type Props = {
  9. activeTab: 'stats' | 'issues' | 'health';
  10. organization: Organization;
  11. };
  12. function StatsHeader({organization, activeTab}: Props) {
  13. return (
  14. <Layout.Header>
  15. <Layout.HeaderContent>
  16. <StyledLayoutTitle>{t('Stats')}</StyledLayoutTitle>
  17. </Layout.HeaderContent>
  18. <Layout.HeaderActions>
  19. {activeTab !== 'stats' && (
  20. <FeatureFeedback buttonProps={{size: 'sm'}} featureName="team-stats" />
  21. )}
  22. </Layout.HeaderActions>
  23. <Layout.HeaderNavTabs underlined>
  24. <li className={`${activeTab === 'stats' ? 'active' : ''}`}>
  25. <Link to={`/organizations/${organization.slug}/stats/`}>{t('Usage')}</Link>
  26. </li>
  27. <li className={`${activeTab === 'issues' ? 'active' : ''}`}>
  28. <Link to={`/organizations/${organization.slug}/stats/issues/`}>
  29. {t('Issues')}
  30. </Link>
  31. </li>
  32. <li className={`${activeTab === 'health' ? 'active' : ''}`}>
  33. <Link to={`/organizations/${organization.slug}/stats/health/`}>
  34. {t('Health')}
  35. </Link>
  36. </li>
  37. </Layout.HeaderNavTabs>
  38. </Layout.Header>
  39. );
  40. }
  41. export default StatsHeader;
  42. const StyledLayoutTitle = styled(Layout.Title)`
  43. margin-top: ${space(0.5)};
  44. `;