backendPageHeader.tsx 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import normalizeUrl from 'sentry/utils/url/normalizeUrl';
  2. import useOrganization from 'sentry/utils/useOrganization';
  3. import {
  4. BACKEND_LANDING_SUB_PATH,
  5. BACKEND_LANDING_TITLE,
  6. } from 'sentry/views/insights/pages/backend/settings';
  7. import {
  8. DomainViewHeader,
  9. type Props as HeaderProps,
  10. } from 'sentry/views/insights/pages/domainViewHeader';
  11. import {DOMAIN_VIEW_BASE_URL} from 'sentry/views/insights/pages/settings';
  12. import {ModuleName} from 'sentry/views/insights/types';
  13. type Props = {
  14. headerTitle: HeaderProps['headerTitle'];
  15. breadcrumbs?: HeaderProps['additionalBreadCrumbs'];
  16. headerActions?: HeaderProps['additonalHeaderActions'];
  17. module?: HeaderProps['selectedModule'];
  18. };
  19. // TODO - add props to append to breadcrumbs and change title
  20. export function BackendHeader({module, headerActions, headerTitle, breadcrumbs}: Props) {
  21. const {slug} = useOrganization();
  22. const backendBaseUrl = normalizeUrl(
  23. `/organizations/${slug}/${DOMAIN_VIEW_BASE_URL}/${BACKEND_LANDING_SUB_PATH}/`
  24. );
  25. const modules = [ModuleName.DB, ModuleName.HTTP, ModuleName.CACHE, ModuleName.QUEUE];
  26. return (
  27. <DomainViewHeader
  28. domainBaseUrl={backendBaseUrl}
  29. domainTitle={BACKEND_LANDING_TITLE}
  30. headerTitle={headerTitle}
  31. additonalHeaderActions={headerActions}
  32. modules={modules}
  33. selectedModule={module}
  34. additionalBreadCrumbs={breadcrumbs}
  35. />
  36. );
  37. }