1
1
import { useTheme } from "@emotion/react" ;
2
- import type { ProvisionerJobLog } from "api/typesGenerated" ;
2
+ import type { MatchedProvisioners , ProvisionerJobLog } from "api/typesGenerated" ;
3
3
import { Loader } from "components/Loader/Loader" ;
4
4
import { WorkspaceBuildLogs } from "modules/workspaces/WorkspaceBuildLogs/WorkspaceBuildLogs" ;
5
5
import { type FC , useEffect , useRef } from "react" ;
6
+ import { ProvisionerStatusAlert } from "modules/provisioners/ProvisionerStatusAlert" ;
6
7
7
8
interface WorkspaceBuildLogsSectionProps {
8
9
logs ?: ProvisionerJobLog [ ] ;
10
+ tags : Record < string , string > ;
11
+ matchedProvisioners : MatchedProvisioners ;
9
12
}
10
13
11
14
export const WorkspaceBuildLogsSection : FC < WorkspaceBuildLogsSectionProps > = ( {
12
15
logs,
16
+ tags,
17
+ matchedProvisioners,
13
18
} ) => {
14
19
const scrollRef = useRef < HTMLDivElement > ( null ) ;
15
20
const theme = useTheme ( ) ;
@@ -27,6 +32,9 @@ export const WorkspaceBuildLogsSection: FC<WorkspaceBuildLogsSectionProps> = ({
27
32
}
28
33
} , [ logs ] ) ;
29
34
35
+ const availableProvisioners = matchedProvisioners . available ;
36
+ const matchingProvisioners = matchedProvisioners . count ;
37
+
30
38
return (
31
39
< div
32
40
css = { {
@@ -67,6 +75,11 @@ export const WorkspaceBuildLogsSection: FC<WorkspaceBuildLogsSectionProps> = ({
67
75
height : "100%" ,
68
76
} }
69
77
>
78
+ < ProvisionerStatusAlert
79
+ matchingProvisioners = { matchingProvisioners }
80
+ availableProvisioners = { availableProvisioners }
81
+ tags = { tags }
82
+ />
70
83
< Loader />
71
84
</ div >
72
85
) }
0 commit comments