@@ -322,6 +322,39 @@ export default function Dashboard() {
322322 </ div >
323323 </ div >
324324 ) }
325+ { reportData . TestResultSummary . InfrastructurePassed !== undefined && (
326+ < div className = "grid flex-1 auto-rows-min gap-0.5" >
327+ < div className = "text-sm text-muted-foreground" > Infrastructure</ div >
328+ < div className = "flex items-baseline gap-1 text-xl font-bold tabular-nums leading-none" >
329+ { reportData . TestResultSummary . InfrastructurePassed } /{ reportData . TestResultSummary . InfrastructureTotal }
330+ < span className = "text-sm font-normal text-muted-foreground" >
331+ tests
332+ </ span >
333+ </ div >
334+ </ div >
335+ ) }
336+ { reportData . TestResultSummary . SecOpsPassed !== undefined && (
337+ < div className = "grid flex-1 auto-rows-min gap-0.5" >
338+ < div className = "text-sm text-muted-foreground" > SecOps</ div >
339+ < div className = "flex items-baseline gap-1 text-xl font-bold tabular-nums leading-none" >
340+ { reportData . TestResultSummary . SecOpsPassed } /{ reportData . TestResultSummary . SecOpsTotal }
341+ < span className = "text-sm font-normal text-muted-foreground" >
342+ tests
343+ </ span >
344+ </ div >
345+ </ div >
346+ ) }
347+ { reportData . TestResultSummary . AIPassed !== undefined && (
348+ < div className = "grid flex-1 auto-rows-min gap-0.5" >
349+ < div className = "text-sm text-muted-foreground" > AI</ div >
350+ < div className = "flex items-baseline gap-1 text-xl font-bold tabular-nums leading-none" >
351+ { reportData . TestResultSummary . AIPassed } /{ reportData . TestResultSummary . AITotal }
352+ < span className = "text-sm font-normal text-muted-foreground" >
353+ tests
354+ </ span >
355+ </ div >
356+ </ div >
357+ ) }
325358 </ div >
326359 < ChartContainer
327360 config = { {
@@ -341,6 +374,18 @@ export default function Dashboard() {
341374 label : "Network" ,
342375 color : "hsl(var(--chart-4))" ,
343376 } ,
377+ infrastructure : {
378+ label : "Infrastructure" ,
379+ color : "hsl(var(--chart-5))" ,
380+ } ,
381+ secops : {
382+ label : "SecOps" ,
383+ color : "hsl(var(--chart-1))" ,
384+ } ,
385+ ai : {
386+ label : "AI" ,
387+ color : "hsl(var(--chart-2))" ,
388+ } ,
344389 } }
345390 className = "mx-auto aspect-square w-full max-w-[80%]"
346391 >
@@ -352,6 +397,30 @@ export default function Dashboard() {
352397 bottom : - 10 ,
353398 } }
354399 data = { [
400+ // Only include AI pillar if it exists (preview mode)
401+ ...( reportData . TestResultSummary . AIPassed !== undefined && reportData . TestResultSummary . AITotal !== undefined
402+ ? [ {
403+ activity : "ai" ,
404+ value : ( reportData . TestResultSummary . AIPassed / reportData . TestResultSummary . AITotal ) * 100 ,
405+ fill : "var(--color-ai)" ,
406+ } ]
407+ : [ ] ) ,
408+ // Only include SecOps pillar if it exists (preview mode)
409+ ...( reportData . TestResultSummary . SecOpsPassed !== undefined && reportData . TestResultSummary . SecOpsTotal !== undefined
410+ ? [ {
411+ activity : "secops" ,
412+ value : ( reportData . TestResultSummary . SecOpsPassed / reportData . TestResultSummary . SecOpsTotal ) * 100 ,
413+ fill : "var(--color-secops)" ,
414+ } ]
415+ : [ ] ) ,
416+ // Only include Infrastructure pillar if it exists (preview mode)
417+ ...( reportData . TestResultSummary . InfrastructurePassed !== undefined && reportData . TestResultSummary . InfrastructureTotal !== undefined
418+ ? [ {
419+ activity : "infrastructure" ,
420+ value : ( reportData . TestResultSummary . InfrastructurePassed / reportData . TestResultSummary . InfrastructureTotal ) * 100 ,
421+ fill : "var(--color-infrastructure)" ,
422+ } ]
423+ : [ ] ) ,
355424 // Only include Network pillar if it exists (preview mode)
356425 ...( reportData . TestResultSummary . NetworkPassed !== undefined && reportData . TestResultSummary . NetworkTotal !== undefined
357426 ? [ {
0 commit comments