index.tsx 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import Breadcrumbs from 'sentry/components/breadcrumbs';
  2. import DatePageFilter from 'sentry/components/datePageFilter';
  3. import FeatureBadge from 'sentry/components/featureBadge';
  4. import * as Layout from 'sentry/components/layouts/thirds';
  5. import PageFilterBar from 'sentry/components/organizations/pageFilterBar';
  6. import {t} from 'sentry/locale';
  7. import useOrganization from 'sentry/utils/useOrganization';
  8. import {normalizeUrl} from 'sentry/utils/withDomainRequired';
  9. import {PaddedContainer} from 'sentry/views/performance/browser/interactionsLandingPage';
  10. import InteractionSampleTable from 'sentry/views/performance/browser/interactionSummary/sampleTable';
  11. import {getActionName} from 'sentry/views/performance/browser/interactionTable';
  12. import {useBrowserModuleFilters} from 'sentry/views/performance/browser/useBrowserFilters';
  13. import {ModulePageProviders} from 'sentry/views/performance/database/modulePageProviders';
  14. function InteractionSummary() {
  15. const organization = useOrganization();
  16. const browserFilters = useBrowserModuleFilters();
  17. return (
  18. <ModulePageProviders title={[t('Performance'), t('Interactions')].join(' — ')}>
  19. <Layout.Header>
  20. <Layout.HeaderContent>
  21. <Breadcrumbs
  22. crumbs={[
  23. {
  24. label: 'Performance',
  25. to: normalizeUrl(`/organizations/${organization.slug}/performance/`),
  26. preservePageFilters: true,
  27. },
  28. {
  29. label: 'Interactions',
  30. to: normalizeUrl(
  31. `/organizations/${organization.slug}/performance/browser/interactions/`
  32. ),
  33. preservePageFilters: true,
  34. },
  35. {
  36. label: 'Interaction Summary',
  37. },
  38. ]}
  39. />
  40. <Layout.Title>
  41. {getActionName(browserFilters?.['transaction.op'] || '')}
  42. {` ${browserFilters.component} on ${browserFilters.page}`}
  43. <FeatureBadge type="alpha" />
  44. </Layout.Title>
  45. </Layout.HeaderContent>
  46. </Layout.Header>
  47. <Layout.Body>
  48. <Layout.Main fullWidth>
  49. <PaddedContainer>
  50. <PageFilterBar condensed>
  51. <DatePageFilter alignDropdown="left" />
  52. </PageFilterBar>
  53. </PaddedContainer>
  54. <InteractionSampleTable />
  55. </Layout.Main>
  56. </Layout.Body>
  57. </ModulePageProviders>
  58. );
  59. }
  60. export default InteractionSummary;