12345678910111213141516171819202122232425262728293031323334353637383940 |
- import {Fragment} from 'react';
- import {SecondaryNav} from 'sentry/components/nav/secondary';
- import {t} from 'sentry/locale';
- import type {RouteComponentProps} from 'sentry/types/legacyReactRouter';
- import useOrganization from 'sentry/utils/useOrganization';
- interface IssuesWrapperProps extends RouteComponentProps<{}, {}> {
- children: React.ReactNode;
- }
- export function IssueNavigation({children}: IssuesWrapperProps) {
- const organization = useOrganization();
- const hasNavigationV2 = organization?.features.includes('navigation-sidebar-v2');
- if (!hasNavigationV2) {
- return children;
- }
- const baseUrl = `/organizations/${organization.slug}/issues`;
- return (
- <Fragment>
- <SecondaryNav>
- <SecondaryNav.Body>
- <SecondaryNav.Section>
- <SecondaryNav.Item to={baseUrl}>{t('All')}</SecondaryNav.Item>
- <SecondaryNav.Item to={`${baseUrl}/feedback/`}>
- {t('Feedback')}
- </SecondaryNav.Item>
- </SecondaryNav.Section>
- </SecondaryNav.Body>
- <SecondaryNav.Footer>
- <SecondaryNav.Item to={`${baseUrl}/alerts/`}>{t('Alerts')}</SecondaryNav.Item>
- </SecondaryNav.Footer>
- </SecondaryNav>
- {children}
- </Fragment>
- );
- }
|