1
- import { useEffect } from 'react' ;
1
+ import React , { useEffect } from 'react' ;
2
2
import { useDispatch , useSelector } from 'react-redux' ;
3
3
import cn from 'bem-cn-lite' ;
4
4
import { useHistory , useLocation } from 'react-router' ;
5
+ import { Breadcrumbs , BreadcrumbsItem , Link } from '@yandex-cloud/uikit' ;
5
6
6
- import { clusterName as clusterNameLocation } from '../../store' ;
7
+ import Divider from '../../components/Divider/Divider' ;
8
+ //@ts -ignore
9
+ import Icon from '../../components/Icon/Icon' ;
10
+
11
+ import { clusterName as clusterNameLocation , backend , customBackend } from '../../store' ;
7
12
import { getClusterInfo } from '../../store/reducers/cluster' ;
8
13
import { getHostInfo } from '../../store/reducers/host' ;
14
+ import { HeaderItemType } from '../../store/reducers/header' ;
9
15
10
16
import './Header.scss' ;
11
- import { Breadcrumbs , BreadcrumbsItem } from '@yandex-cloud/uikit' ;
12
- import { HeaderItemType } from '../../store/reducers/header' ;
13
17
14
18
const b = cn ( 'header' ) ;
15
19
@@ -49,6 +53,12 @@ function Header() {
49
53
const renderHeader = ( ) => {
50
54
const clusterNameFinal = singleClusterMode ? host . ClusterName : clusterName ;
51
55
56
+ let link = backend + '/internal' ;
57
+
58
+ if ( singleClusterMode && ! customBackend ) {
59
+ link = `/internal` ;
60
+ }
61
+
52
62
const breadcrumbItems = header . reduce ( ( acc , el ) => {
53
63
acc . push ( { text : el . text , action : ( ) => history . push ( el . link ) } ) ;
54
64
return acc ;
@@ -63,8 +73,20 @@ function Header() {
63
73
firstDisplayedItemsCount = { 1 }
64
74
/>
65
75
</ div >
66
- < div >
67
- { clusterNameFinal && < ClusterName name = { clusterNameFinal } /> }
76
+
77
+ < div className = { b ( 'cluster-name-wrapper' ) } >
78
+ < Link href = { link } target = "_blank" >
79
+ Internal viewer{ ' ' }
80
+ < Icon name = "external" viewBox = { '0 0 16 16' } width = { 16 } height = { 16 } />
81
+ </ Link >
82
+ { clusterNameFinal && (
83
+ < React . Fragment >
84
+ < div className = { b ( 'divider' ) } >
85
+ < Divider />
86
+ </ div >
87
+ < ClusterName name = { clusterNameFinal } />
88
+ </ React . Fragment >
89
+ ) }
68
90
</ div >
69
91
</ header >
70
92
) ;
0 commit comments