1
1
import { openHelpSearchModal } from 'sentry/actionCreators/modal' ;
2
- import type { NavConfig , NavSidebarItem } from 'sentry/components/nav/utils' ;
2
+ import type { NavConfig } from 'sentry/components/nav/utils' ;
3
3
import {
4
4
IconDashboard ,
5
5
IconGraph ,
@@ -15,26 +15,23 @@ import {t} from 'sentry/locale';
15
15
import ConfigStore from 'sentry/stores/configStore' ;
16
16
import type { Organization } from 'sentry/types/organization' ;
17
17
import { getDiscoverLandingUrl } from 'sentry/utils/discover/urls' ;
18
- import { MODULE_BASE_URLS } from 'sentry/views/insights/common/utils/useModuleURL' ;
19
- import { MODULE_SIDEBAR_TITLE as MODULE_TITLE_HTTP } from 'sentry/views/insights/http/settings' ;
20
18
import {
21
19
AI_LANDING_SUB_PATH ,
22
- AI_LANDING_TITLE ,
20
+ AI_SIDEBAR_LABEL ,
23
21
} from 'sentry/views/insights/pages/ai/settings' ;
24
22
import {
25
23
BACKEND_LANDING_SUB_PATH ,
26
- BACKEND_LANDING_TITLE ,
24
+ BACKEND_SIDEBAR_LABEL ,
27
25
} from 'sentry/views/insights/pages/backend/settings' ;
28
26
import {
29
27
FRONTEND_LANDING_SUB_PATH ,
30
- FRONTEND_LANDING_TITLE ,
28
+ FRONTEND_SIDEBAR_LABEL ,
31
29
} from 'sentry/views/insights/pages/frontend/settings' ;
32
30
import {
33
31
MOBILE_LANDING_SUB_PATH ,
34
- MOBILE_LANDING_TITLE ,
32
+ MOBILE_SIDEBAR_LABEL ,
35
33
} from 'sentry/views/insights/pages/mobile/settings' ;
36
34
import { DOMAIN_VIEW_BASE_URL } from 'sentry/views/insights/pages/settings' ;
37
- import { INSIGHTS_BASE_URL , MODULE_TITLES } from 'sentry/views/insights/settings' ;
38
35
import { getSearchForIssueGroup , IssueGroup } from 'sentry/views/issueList/utils' ;
39
36
40
37
/**
@@ -45,88 +42,6 @@ import {getSearchForIssueGroup, IssueGroup} from 'sentry/views/issueList/utils';
45
42
*/
46
43
export function createNavConfig ( { organization} : { organization : Organization } ) : NavConfig {
47
44
const prefix = `organizations/${ organization . slug } ` ;
48
- const insightsPrefix = `${ prefix } /${ INSIGHTS_BASE_URL } ` ;
49
- const hasPerfDomainViews = organization . features . includes ( 'insights-domain-view' ) ;
50
-
51
- const insights : NavSidebarItem = {
52
- label : t ( 'Insights' ) ,
53
- icon : < IconGraph /> ,
54
- feature : { features : 'insights-entry-points' } ,
55
- analyticsKey : 'insights' ,
56
- submenu : [
57
- {
58
- label : MODULE_TITLE_HTTP ,
59
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . http } /` ,
60
- } ,
61
- { label : MODULE_TITLES . db , to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . db } /` } ,
62
- {
63
- label : MODULE_TITLES . resource ,
64
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . resource } /` ,
65
- } ,
66
- {
67
- label : MODULE_TITLES . app_start ,
68
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . app_start } /` ,
69
- } ,
70
- {
71
- label : MODULE_TITLES [ 'mobile-screens' ] ,
72
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS [ 'mobile-screens' ] } /` ,
73
- feature : { features : 'insights-mobile-screens-module' } ,
74
- } ,
75
- {
76
- label : MODULE_TITLES . vital ,
77
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . vital } /` ,
78
- } ,
79
- {
80
- label : MODULE_TITLES . cache ,
81
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . cache } /` ,
82
- } ,
83
- {
84
- label : MODULE_TITLES . queue ,
85
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . queue } /` ,
86
- } ,
87
- {
88
- label : MODULE_TITLES . ai ,
89
- to : `/${ insightsPrefix } /${ MODULE_BASE_URLS . ai } /` ,
90
- feature : { features : 'insights-entry-points' } ,
91
- } ,
92
- ] ,
93
- } ;
94
-
95
- const perf : NavSidebarItem = {
96
- label : t ( 'Perf.' ) ,
97
- to : '/performance/' ,
98
- analyticsKey : 'performance' ,
99
- icon : < IconLightning /> ,
100
- feature : {
101
- features : 'performance-view' ,
102
- hookName : 'feature-disabled:performance-sidebar-item' ,
103
- } ,
104
- } ;
105
-
106
- const perfDomainViews : NavSidebarItem = {
107
- label : t ( 'Perf.' ) ,
108
- icon : < IconLightning /> ,
109
- analyticsKey : 'insights-domains' ,
110
- feature : { features : [ 'insights-domain-view' , 'performance-view' ] } ,
111
- submenu : [
112
- {
113
- label : FRONTEND_LANDING_TITLE ,
114
- to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ FRONTEND_LANDING_SUB_PATH } /` ,
115
- } ,
116
- {
117
- label : BACKEND_LANDING_TITLE ,
118
- to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ BACKEND_LANDING_SUB_PATH } /` ,
119
- } ,
120
- {
121
- label : AI_LANDING_TITLE ,
122
- to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ AI_LANDING_SUB_PATH } /` ,
123
- } ,
124
- {
125
- label : MOBILE_LANDING_TITLE ,
126
- to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ MOBILE_LANDING_SUB_PATH } /` ,
127
- } ,
128
- ] ,
129
- } ;
130
45
131
46
return {
132
47
main : [
@@ -208,7 +123,40 @@ export function createNavConfig({organization}: {organization: Organization}): N
208
123
{ label : t ( 'Crons' ) , to : `/${ prefix } /crons/` } ,
209
124
] ,
210
125
} ,
211
- ...( hasPerfDomainViews ? [ perfDomainViews , perf ] : [ insights , perf ] ) ,
126
+ {
127
+ label : t ( 'Insights' ) ,
128
+ icon : < IconGraph /> ,
129
+ analyticsKey : 'insights-domains' ,
130
+ feature : { features : [ 'performance-view' ] } ,
131
+ submenu : [
132
+ {
133
+ label : FRONTEND_SIDEBAR_LABEL ,
134
+ to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ FRONTEND_LANDING_SUB_PATH } /` ,
135
+ } ,
136
+ {
137
+ label : BACKEND_SIDEBAR_LABEL ,
138
+ to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ BACKEND_LANDING_SUB_PATH } /` ,
139
+ } ,
140
+ {
141
+ label : MOBILE_SIDEBAR_LABEL ,
142
+ to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ MOBILE_LANDING_SUB_PATH } /` ,
143
+ } ,
144
+ {
145
+ label : AI_SIDEBAR_LABEL ,
146
+ to : `/${ prefix } /${ DOMAIN_VIEW_BASE_URL } /${ AI_LANDING_SUB_PATH } /` ,
147
+ } ,
148
+ ] ,
149
+ } ,
150
+ {
151
+ label : t ( 'Perf.' ) ,
152
+ to : '/performance/' ,
153
+ analyticsKey : 'performance' ,
154
+ icon : < IconLightning /> ,
155
+ feature : {
156
+ features : 'performance-view' ,
157
+ hookName : 'feature-disabled:performance-sidebar-item' ,
158
+ } ,
159
+ } ,
212
160
{
213
161
label : t ( 'Boards' ) ,
214
162
analyticsKey : 'customizable-dashboards' ,
0 commit comments