@@ -3,9 +3,9 @@ import dayjs from "dayjs"
3
3
import duration from "dayjs/plugin/duration"
4
4
import minMax from "dayjs/plugin/minMax"
5
5
import utc from "dayjs/plugin/utc"
6
+ import semver from "semver"
6
7
import { WorkspaceBuildTransition } from "../api/types"
7
8
import * as TypesGen from "../api/typesGenerated"
8
- import semver from "semver"
9
9
10
10
dayjs . extend ( duration )
11
11
dayjs . extend ( utc )
@@ -97,7 +97,8 @@ export const DisplayWorkspaceBuildStatusLanguage = {
97
97
}
98
98
99
99
export const DisplayAgentVersionLanguage = {
100
- unknown : "(unknown)" ,
100
+ unknown : "unknown" ,
101
+ outdated : "outdated" ,
101
102
}
102
103
103
104
export const getDisplayWorkspaceBuildStatus = (
@@ -217,31 +218,37 @@ export const getDisplayAgentStatus = (
217
218
}
218
219
219
220
export const getDisplayVersionStatus = (
220
- theme : Theme ,
221
+ theme : {
222
+ palette : {
223
+ text : {
224
+ secondary : string
225
+ }
226
+ primary : { main : string }
227
+ success : { main : string }
228
+ }
229
+ } ,
221
230
agentVersion : string ,
222
231
serverVersion : string ,
223
232
) : {
224
- color : string ,
225
- version : string ,
226
- } => {
227
- if ( ! semver . valid ( serverVersion ) || semver . valid ( agentVersion ) ) {
233
+ color : string
234
+ version : string
235
+ } => {
236
+ if ( ! semver . valid ( serverVersion ) || ! semver . valid ( agentVersion ) ) {
237
+ return {
238
+ color : theme . palette . text . secondary ,
239
+ version : `${ agentVersion } ` || `(${ DisplayAgentVersionLanguage . unknown } )` ,
240
+ }
241
+ } else if ( semver . lt ( agentVersion , serverVersion ) ) {
228
242
return {
229
243
color : theme . palette . primary . main ,
230
- version : agentVersion || "(version unknown)" ,
244
+ version : ` ${ agentVersion } ( ${ DisplayAgentVersionLanguage . outdated } )` ,
231
245
}
232
- }
233
-
234
- if ( semver . lt ( agentVersion , serverVersion ) ) {
246
+ } else {
235
247
return {
236
- color : theme . palette . text . secondary ,
237
- version : ` ${ agentVersion } (outdated)` ,
248
+ color : theme . palette . success . main ,
249
+ version : agentVersion ,
238
250
}
239
251
}
240
-
241
- return {
242
- color : theme . palette . success . main ,
243
- version : agentVersion ,
244
- }
245
252
}
246
253
247
254
export const isWorkspaceOn = ( workspace : TypesGen . Workspace ) : boolean => {
0 commit comments