@@ -3,18 +3,12 @@ import React, { useEffect, useState } from 'react'
3
3
import { useHistory , useLocation } from 'react-router-dom'
4
4
import cx from 'classnames'
5
5
import { last } from 'lodash'
6
- import { useDispatch , useSelector } from 'react-redux'
6
+ import { useSelector } from 'react-redux'
7
7
import {
8
8
EuiButtonIcon ,
9
- EuiFlexGroup ,
10
- EuiFlexItem ,
11
9
EuiIcon ,
12
10
EuiLink ,
13
11
EuiPageSideBar ,
14
- EuiPopover ,
15
- EuiSpacer ,
16
- EuiText ,
17
- EuiTitle ,
18
12
EuiToolTip
19
13
} from '@elastic/eui'
20
14
import HighlightedFeature from 'uiSrc/components/hightlighted-feature/HighlightedFeature'
@@ -26,10 +20,7 @@ import { getRouterLinkProps } from 'uiSrc/services'
26
20
import { appFeaturePagesHighlightingSelector } from 'uiSrc/slices/app/features'
27
21
import { connectedInstanceSelector } from 'uiSrc/slices/instances/instances'
28
22
import {
29
- appElectronInfoSelector ,
30
23
appInfoSelector ,
31
- setReleaseNotesViewed ,
32
- setShortcutsFlyoutState
33
24
} from 'uiSrc/slices/app/info'
34
25
import LogoSVG from 'uiSrc/assets/img/logo.svg'
35
26
import SettingsSVG from 'uiSrc/assets/img/sidebar/settings.svg'
@@ -48,6 +39,7 @@ import { BuildType } from 'uiSrc/constants/env'
48
39
import { renderOnboardingTourWithChild } from 'uiSrc/utils/onboarding'
49
40
import { ONBOARDING_FEATURES } from 'uiSrc/components/onboarding-features'
50
41
42
+ import HelpMenu from './components/help-menu/HelpMenu'
51
43
import NotificationMenu from './components/notifications-center'
52
44
53
45
import styles from './styles.module.scss'
@@ -72,13 +64,10 @@ interface INavigations {
72
64
const NavigationMenu = ( ) => {
73
65
const history = useHistory ( )
74
66
const location = useLocation ( )
75
- const dispatch = useDispatch ( )
76
67
77
68
const [ activePage , setActivePage ] = useState ( Pages . home )
78
- const [ isHelpMenuActive , setIsHelpMenuActive ] = useState ( false )
79
69
80
70
const { id : connectedInstanceId = '' } = useSelector ( connectedInstanceSelector )
81
- const { isReleaseNotesViewed } = useSelector ( appElectronInfoSelector )
82
71
const { server } = useSelector ( appInfoSelector )
83
72
const highlightedPages = useSelector ( appFeaturePagesHighlightingSelector )
84
73
@@ -88,11 +77,6 @@ const NavigationMenu = () => {
88
77
89
78
const handleGoPage = ( page : string ) => history . push ( page )
90
79
91
- const onKeyboardShortcutClick = ( ) => {
92
- setIsHelpMenuActive ( false )
93
- dispatch ( setShortcutsFlyoutState ( true ) )
94
- }
95
-
96
80
const isAnalyticsPath = ( activePage : string ) => ! ! ANALYTICS_ROUTES . find (
97
81
( { path } ) => ( `/${ last ( path . split ( '/' ) ) } ` === activePage )
98
82
)
@@ -180,106 +164,6 @@ const NavigationMenu = () => {
180
164
} ,
181
165
]
182
166
183
- const onClickReleaseNotes = async ( ) => {
184
- if ( isReleaseNotesViewed === false ) {
185
- dispatch ( setReleaseNotesViewed ( true ) )
186
- }
187
- }
188
-
189
- const HelpMenuButton = ( ) => (
190
- < EuiButtonIcon
191
- className = {
192
- cx ( styles . navigationButton , { [ styles . navigationButtonNotified ] : isReleaseNotesViewed === false } )
193
- }
194
- iconType = "questionInCircle"
195
- iconSize = "l"
196
- aria-label = "Help Menu"
197
- onClick = { ( ) => setIsHelpMenuActive ( ( value ) => ! value ) }
198
- data-testid = "help-menu-button"
199
- />
200
- )
201
-
202
- const HelpMenu = ( ) => (
203
- < EuiPopover
204
- anchorPosition = "rightUp"
205
- isOpen = { isHelpMenuActive }
206
- anchorClassName = { styles . unsupportedInfo }
207
- panelClassName = { cx ( 'euiToolTip' , 'popoverLikeTooltip' , styles . popoverWrapper ) }
208
- closePopover = { ( ) => setIsHelpMenuActive ( false ) }
209
- button = { (
210
- < >
211
- { ! isHelpMenuActive && (
212
- < EuiToolTip content = "Help" position = "right" key = "help-menu" >
213
- { HelpMenuButton ( ) }
214
- </ EuiToolTip >
215
- ) }
216
-
217
- { isHelpMenuActive && HelpMenuButton ( ) }
218
- </ >
219
- ) }
220
- >
221
- < div className = { styles . popover } data-testid = "help-center" >
222
- < EuiTitle size = "xs" >
223
- < span > Help Center</ span >
224
- </ EuiTitle >
225
- < EuiSpacer size = "l" />
226
- < EuiFlexGroup className = { styles . helpMenuItems } responsive = { false } >
227
- < EuiFlexItem className = { styles . helpMenuItem } >
228
- < EuiLink
229
- external = { false }
230
- className = { styles . helpMenuItemLink }
231
- href = { EXTERNAL_LINKS . githubIssues }
232
- target = "_blank"
233
- data-testid = "submit-bug-btn"
234
- >
235
- < EuiIcon type = "flag" size = "xl" />
236
- < EuiSpacer size = "s" />
237
- < EuiText size = "xs" textAlign = "center" className = { styles . helpMenuText } >
238
- Submit a Bug or Idea
239
- </ EuiText >
240
- </ EuiLink >
241
- </ EuiFlexItem >
242
-
243
- < EuiFlexItem
244
- className = { styles . helpMenuItem }
245
- onClick = { ( ) => onKeyboardShortcutClick ( ) }
246
- data-testid = "shortcuts-btn"
247
- >
248
- < div className = { styles . helpMenuItemLink } >
249
- < EuiIcon type = "keyboardShortcut" size = "xl" />
250
- < EuiSpacer size = "s" />
251
- < EuiText
252
- size = "xs"
253
- textAlign = "center"
254
- className = { styles . helpMenuText }
255
- >
256
- Keyboard Shortcuts
257
- </ EuiText >
258
- </ div >
259
- </ EuiFlexItem >
260
-
261
- < EuiFlexItem className = { styles . helpMenuItem } >
262
- < EuiLink
263
- external = { false }
264
- className = { styles . helpMenuItemLink }
265
- onClick = { onClickReleaseNotes }
266
- href = { EXTERNAL_LINKS . releaseNotes }
267
- target = "_blank"
268
- data-testid = "release-notes-btn"
269
- >
270
- < div className = { cx ( { [ styles . helpMenuItemNotified ] : isReleaseNotesViewed === false } ) } >
271
- < EuiIcon type = "package" size = "xl" />
272
- </ div >
273
- < EuiSpacer size = "s" />
274
- < EuiText size = "xs" textAlign = "center" className = { styles . helpMenuText } > Release Notes</ EuiText >
275
- </ EuiLink >
276
- </ EuiFlexItem >
277
-
278
- </ EuiFlexGroup >
279
- </ div >
280
- </ EuiPopover >
281
- )
282
-
283
167
return (
284
168
< EuiPageSideBar aria-label = "Main navigation" className = { cx ( styles . navigation , 'eui-yScroll' ) } >
285
169
< div className = { styles . container } >
@@ -325,7 +209,7 @@ const NavigationMenu = () => {
325
209
</ div >
326
210
< div className = { styles . bottomContainer } >
327
211
< NotificationMenu />
328
- { HelpMenu ( ) }
212
+ < HelpMenu />
329
213
{ publicRoutes . map ( ( nav ) => (
330
214
< HighlightedFeature
331
215
key = { nav . tooltipText }
0 commit comments