@@ -46,6 +46,11 @@ function ClusterResourceGroupNavBar({titles, urls, current = 0} : Props) {
46
46
< > { navBarItems } </ >
47
47
) ;
48
48
}
49
+
50
+ function isOffline ( ) {
51
+ return window . location . protocol === 'file:' ;
52
+ }
53
+
49
54
export class PageTitle extends React . Component < Props , State > {
50
55
timeoutId : TimeoutID ;
51
56
@@ -98,7 +103,15 @@ export class PageTitle extends React.Component<Props, State> {
98
103
}
99
104
100
105
componentDidMount ( ) {
101
- this . refreshLoop ( ) ;
106
+ if ( isOffline ( ) ) {
107
+ this . setState ( {
108
+ noConnection : true ,
109
+ lightShown : true ,
110
+ } ) ;
111
+ }
112
+ else {
113
+ this . refreshLoop ( ) ;
114
+ }
102
115
}
103
116
104
117
renderStatusLight ( ) : any {
@@ -115,7 +128,7 @@ export class PageTitle extends React.Component<Props, State> {
115
128
116
129
render ( ) : any {
117
130
const info = this . state . info ;
118
- if ( ! info ) {
131
+ if ( ! isOffline ( ) && ! info ) {
119
132
return null ;
120
133
}
121
134
@@ -137,19 +150,19 @@ export class PageTitle extends React.Component<Props, State> {
137
150
</ div >
138
151
< button className = "navbar-toggler" type = "button" data-bs-toggle = "collapse" data-bs-target = "#navbar" aria-controls = "navbar" aria-expanded = "false" aria-label = "Toggle navigation" >
139
152
< span className = "navbar-toggler-icon" > </ span >
140
- </ button >
153
+ </ button >
141
154
< div id = "navbar" className = "navbar-collapse collapse" >
142
155
< ul className = "nav navbar-nav navbar-right ms-auto" >
143
156
< li >
144
157
< span className = "navbar-cluster-info" >
145
158
< span className = "uppercase" > Version</ span > < br />
146
- < span className = "text" id = "version-number" > { info . nodeVersion . version } </ span >
159
+ < span className = "text" id = "version-number" > { isOffline ( ) ? 'N/A' : info . nodeVersion . version } </ span >
147
160
</ span >
148
161
</ li >
149
162
< li >
150
163
< span className = "navbar-cluster-info" >
151
164
< span className = "uppercase" > Environment</ span > < br />
152
- < span className = "text" id = "environment" > { info . environment } </ span >
165
+ < span className = "text" id = "environment" > { isOffline ( ) ? 'N/A' : info . environment } </ span >
153
166
</ span >
154
167
</ li >
155
168
< li >
@@ -159,7 +172,7 @@ export class PageTitle extends React.Component<Props, State> {
159
172
{ this . renderStatusLight ( ) }
160
173
</ span >
161
174
162
- < span className = "text" id = "uptime" > { info . uptime } </ span >
175
+ < span className = "text" id = "uptime" > { isOffline ( ) ? 'Offline' : info . uptime } </ span >
163
176
</ span >
164
177
</ li >
165
178
</ ul >
0 commit comments