15
15
*/
16
16
17
17
import { useEffect , useRef , useState } from 'react'
18
- import { generatePath , useHistory , useLocation , useParams } from 'react-router-dom'
18
+ import { generatePath , useHistory , useLocation } from 'react-router-dom'
19
19
20
20
import {
21
21
Checkbox ,
@@ -37,12 +37,10 @@ import {
37
37
} from '@devtron-labs/devtron-fe-common-lib'
38
38
39
39
import { ResourceBrowserTabsId } from '@Components/ResourceBrowser/Constants'
40
- import { K8sResourceListURLParams } from '@Components/ResourceBrowser/ResourceList/types'
41
40
import { getClusterTerminalParamsData } from '@Pages/GlobalConfigurations/ClustersAndEnvironments/cluster.util'
42
41
43
42
import { BUSYBOX_LINK , DEFAULT_CONTAINER_NAME , NETSHOOT_LINK , shellTypes } from '../../config/constants'
44
43
import { clusterImageDescription , convertToOptionsList } from '../common'
45
- import { AppDetailsTabs } from '../v2/appDetails/appDetails.store'
46
44
import {
47
45
EditModeType ,
48
46
TERMINAL_STATUS ,
@@ -88,9 +86,13 @@ const ClusterTerminal = ({
88
86
taints,
89
87
updateTabUrl,
90
88
} : ClusterTerminalType ) => {
91
- const { kind } = useParams < K8sResourceListURLParams > ( )
92
89
const { replace } = useHistory ( )
93
90
const location = useLocation ( )
91
+ const isAdminTerminalVisible =
92
+ location . pathname ===
93
+ generatePath ( RESOURCE_BROWSER_ROUTES . TERMINAL , {
94
+ clusterId,
95
+ } )
94
96
const queryParams = new URLSearchParams ( location . search )
95
97
const terminalAccessIdRef = useRef ( )
96
98
const clusterShellTypes = shellTypes . filter ( ( types ) => types . label === 'sh' || types . label === 'bash' )
@@ -159,7 +161,7 @@ const ClusterTerminal = ({
159
161
}
160
162
161
163
useEffect ( ( ) => {
162
- if ( kind !== 'terminal' || queryParamsData . selectedNode . value === selectedNodeName . value || ! update ) {
164
+ if ( ! isAdminTerminalVisible || queryParamsData . selectedNode . value === selectedNodeName . value || ! update ) {
163
165
return
164
166
}
165
167
/* NOTE: update selectedNodeName */
@@ -188,7 +190,7 @@ const ClusterTerminal = ({
188
190
id : ResourceBrowserTabsId . terminal ,
189
191
url : `${ generatePath ( RESOURCE_BROWSER_ROUTES . TERMINAL , { clusterId } ) } ?${ queryParams . toString ( ) } ` ,
190
192
} )
191
- if ( kind === AppDetailsTabs . terminal ) {
193
+ if ( isAdminTerminalVisible ) {
192
194
replace ( { search : queryParams . toString ( ) } )
193
195
}
194
196
} , [ selectedNodeName . value , selectedNamespace . value , selectedImage . value , selectedTerminalType . value ] )
@@ -1036,7 +1038,7 @@ const ClusterTerminal = ({
1036
1038
renderConnectionStrip : renderStripMessage ( ) ,
1037
1039
setSocketConnection,
1038
1040
socketConnection,
1039
- isTerminalTab : selectedTabIndex === 0 && kind === 'terminal' ,
1041
+ isTerminalTab : selectedTabIndex === 0 && isAdminTerminalVisible ,
1040
1042
sessionId,
1041
1043
registerLinkMatcher : renderRegisterLinkMatcher ,
1042
1044
} ,
0 commit comments