modulePageProviders.tsx 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import type {ComponentProps} from 'react';
  2. import Feature from 'sentry/components/acl/feature';
  3. import * as Layout from 'sentry/components/layouts/thirds';
  4. import PageFiltersContainer from 'sentry/components/organizations/pageFilters/container';
  5. import SentryDocumentTitle from 'sentry/components/sentryDocumentTitle';
  6. import useOrganization from 'sentry/utils/useOrganization';
  7. import {NoAccess} from 'sentry/views/performance/database/noAccess';
  8. interface Props {
  9. children: React.ReactNode;
  10. features: ComponentProps<typeof Feature>['features'];
  11. title: string;
  12. }
  13. export function ModulePageProviders({title, children, features}: Props) {
  14. const organization = useOrganization();
  15. return (
  16. <PageFiltersContainer>
  17. <SentryDocumentTitle title={title} orgSlug={organization.slug}>
  18. <Layout.Page>
  19. <Feature
  20. features={features}
  21. organization={organization}
  22. renderDisabled={NoAccess}
  23. >
  24. {children}
  25. </Feature>
  26. </Layout.Page>
  27. </SentryDocumentTitle>
  28. </PageFiltersContainer>
  29. );
  30. }