navigationConfiguration.tsx 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. import FeatureBadge from 'sentry/components/badge/featureBadge';
  2. import {t} from 'sentry/locale';
  3. import type {NavigationSection} from 'sentry/views/settings/types';
  4. const organizationSettingsPathPrefix = '/settings/:orgId';
  5. const userSettingsPathPrefix = '/settings/account';
  6. const organizationNavigation: NavigationSection[] = [
  7. {
  8. name: t('User Settings'),
  9. items: [
  10. {
  11. path: `${userSettingsPathPrefix}/`,
  12. title: t('General Settings'),
  13. description: t('Configure general settings for your account'),
  14. id: 'user-settings',
  15. },
  16. ],
  17. },
  18. {
  19. name: t('Organization'),
  20. items: [
  21. {
  22. path: `${organizationSettingsPathPrefix}/`,
  23. title: t('General Settings'),
  24. index: true,
  25. description: t('Configure general settings for an organization'),
  26. id: 'general',
  27. },
  28. {
  29. path: `${organizationSettingsPathPrefix}/projects/`,
  30. title: t('Projects'),
  31. description: t("View and manage an organization's projects"),
  32. id: 'projects',
  33. },
  34. {
  35. path: `${organizationSettingsPathPrefix}/teams/`,
  36. title: t('Teams'),
  37. description: t("Manage an organization's teams"),
  38. id: 'teams',
  39. },
  40. {
  41. path: `${organizationSettingsPathPrefix}/members/`,
  42. title: t('Members'),
  43. description: t('Manage user membership for an organization'),
  44. id: 'members',
  45. },
  46. {
  47. path: `${organizationSettingsPathPrefix}/security-and-privacy/`,
  48. title: t('Security & Privacy'),
  49. description: t(
  50. 'Configuration related to dealing with sensitive data and other security settings. (Data Scrubbing, Data Privacy, Data Scrubbing)'
  51. ),
  52. id: 'security-and-privacy',
  53. },
  54. {
  55. path: `${organizationSettingsPathPrefix}/auth/`,
  56. title: t('Auth'),
  57. description: t('Configure single sign-on'),
  58. id: 'sso',
  59. },
  60. {
  61. path: `${organizationSettingsPathPrefix}/api-keys/`,
  62. title: t('API Keys'),
  63. show: ({access, features}) =>
  64. features!.has('api-keys') && access!.has('org:admin'),
  65. id: 'api-keys',
  66. },
  67. {
  68. path: `${organizationSettingsPathPrefix}/audit-log/`,
  69. title: t('Audit Log'),
  70. description: t('View the audit log for an organization'),
  71. id: 'audit-log',
  72. },
  73. {
  74. path: `${organizationSettingsPathPrefix}/rate-limits/`,
  75. title: t('Rate Limits'),
  76. show: ({features}) => features!.has('legacy-rate-limits'),
  77. description: t('Configure rate limits for all projects in the organization'),
  78. id: 'rate-limits',
  79. },
  80. {
  81. path: `${organizationSettingsPathPrefix}/relay/`,
  82. title: t('Relay'),
  83. description: t('Manage relays connected to the organization'),
  84. id: 'relay',
  85. },
  86. {
  87. path: `${organizationSettingsPathPrefix}/repos/`,
  88. title: t('Repositories'),
  89. description: t('Manage repositories connected to the organization'),
  90. id: 'repos',
  91. },
  92. {
  93. path: `${organizationSettingsPathPrefix}/integrations/`,
  94. title: t('Integrations'),
  95. description: t(
  96. 'Manage organization-level integrations, including: Slack, Github, Bitbucket, Jira, and Azure DevOps'
  97. ),
  98. id: 'integrations',
  99. recordAnalytics: true,
  100. },
  101. {
  102. path: `${organizationSettingsPathPrefix}/early-features/`,
  103. title: t('Early Features'),
  104. description: t('Manage early access features'),
  105. badge: () => <FeatureBadge type="new" />,
  106. show: ({isSelfHosted}) => isSelfHosted || false,
  107. id: 'early-features',
  108. recordAnalytics: true,
  109. },
  110. ],
  111. },
  112. {
  113. name: t('Developer Settings'),
  114. items: [
  115. {
  116. path: `${organizationSettingsPathPrefix}/auth-tokens/`,
  117. title: t('Auth Tokens'),
  118. description: t('Manage organization auth tokens'),
  119. id: 'auth-tokens',
  120. },
  121. {
  122. path: `${organizationSettingsPathPrefix}/developer-settings/`,
  123. title: t('Custom Integrations'),
  124. description: t('Manage custom integrations'),
  125. id: 'developer-settings',
  126. },
  127. ],
  128. },
  129. ];
  130. export default organizationNavigation;