queuesLandingPage.tsx 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import {Fragment} from 'react';
  2. import FeatureBadge from 'sentry/components/badge/featureBadge';
  3. import {Breadcrumbs} from 'sentry/components/breadcrumbs';
  4. import FloatingFeedbackWidget from 'sentry/components/feedback/widget/floatingFeedbackWidget';
  5. import * as Layout from 'sentry/components/layouts/thirds';
  6. import {DatePageFilter} from 'sentry/components/organizations/datePageFilter';
  7. import {EnvironmentPageFilter} from 'sentry/components/organizations/environmentPageFilter';
  8. import PageFilterBar from 'sentry/components/organizations/pageFilterBar';
  9. import {ProjectPageFilter} from 'sentry/components/organizations/projectPageFilter';
  10. import {t} from 'sentry/locale';
  11. import useOrganization from 'sentry/utils/useOrganization';
  12. import {normalizeUrl} from 'sentry/utils/withDomainRequired';
  13. import * as ModuleLayout from 'sentry/views/performance/moduleLayout';
  14. import {ModulePageProviders} from 'sentry/views/performance/modulePageProviders';
  15. import {MODULE_TITLE, RELEASE_LEVEL} from 'sentry/views/performance/queues/settings';
  16. function QueuesLandingPage() {
  17. const organization = useOrganization();
  18. return (
  19. <Fragment>
  20. <Layout.Header>
  21. <Layout.HeaderContent>
  22. <Breadcrumbs
  23. crumbs={[
  24. {
  25. label: t('Performance'),
  26. to: normalizeUrl(`/organizations/${organization.slug}/performance/`),
  27. preservePageFilters: true,
  28. },
  29. {
  30. label: MODULE_TITLE,
  31. },
  32. ]}
  33. />
  34. <Layout.Title>
  35. {MODULE_TITLE}
  36. <FeatureBadge type={RELEASE_LEVEL} />
  37. </Layout.Title>
  38. </Layout.HeaderContent>
  39. </Layout.Header>
  40. <Layout.Body>
  41. <Layout.Main fullWidth>
  42. <FloatingFeedbackWidget />
  43. <ModuleLayout.Layout>
  44. <ModuleLayout.Full>
  45. <PageFilterBar condensed>
  46. <ProjectPageFilter />
  47. <EnvironmentPageFilter />
  48. <DatePageFilter />
  49. </PageFilterBar>
  50. </ModuleLayout.Full>
  51. </ModuleLayout.Layout>
  52. </Layout.Main>
  53. </Layout.Body>
  54. </Fragment>
  55. );
  56. }
  57. function LandingPageWithProviders() {
  58. return (
  59. <ModulePageProviders
  60. title={[t('Performance'), MODULE_TITLE].join(' — ')}
  61. baseURL="/performance/queues"
  62. features="performance-queues-view"
  63. >
  64. <QueuesLandingPage />
  65. </ModulePageProviders>
  66. );
  67. }
  68. export default LandingPageWithProviders;