@@ -19,18 +19,33 @@ import { useAsync } from 'react-use';
1919import { TabbedLayout } from '@backstage/core-components' ;
2020import { useApi , useRouteRefParams } from '@backstage/core-plugin-api' ;
2121
22+ import { Box } from '@material-ui/core' ;
2223import Grid from '@mui/material/Grid' ;
24+ import { makeStyles } from 'tss-react/mui' ;
2325
2426import { orchestratorApiRef } from '../../api' ;
2527import { workflowRouteRef , workflowRunsRoutePath } from '../../routes' ;
28+ import { useIsDarkMode } from '../../utils/isDarkMode' ;
2629import { BaseOrchestratorPage } from '../BaseOrchestratorPage' ;
2730import { WorkflowRunsTabContent } from '../OrchestratorPage/WorkflowRunsTabContent' ;
2831import { RunButton } from './RunButton' ;
2932import { WorkflowDetailsTabContent } from './WorkflowDetailsTabContent' ;
3033
34+ const useStyles = makeStyles < { isDarkMode : boolean } > ( ) (
35+ ( _ , { isDarkMode } ) => ( {
36+ tabbedLayout : {
37+ '& .Mui-selected' : {
38+ color : isDarkMode ? '#ffffff !important' : '#151515 !important' ,
39+ } ,
40+ } ,
41+ } ) ,
42+ ) ;
43+
3144export const WorkflowPage = ( ) => {
3245 const { workflowId } = useRouteRefParams ( workflowRouteRef ) ;
3346 const orchestratorApi = useApi ( orchestratorApiRef ) ;
47+ const isDarkMode = useIsDarkMode ( ) ;
48+ const { classes } = useStyles ( { isDarkMode } ) ;
3449
3550 const {
3651 value : workflowOverviewDTO ,
@@ -47,24 +62,29 @@ export const WorkflowPage = () => {
4762 typeLink = "/orchestrator"
4863 noPadding
4964 >
50- < TabbedLayout >
51- < TabbedLayout . Route path = "/" title = "Workflow details" >
52- < Grid container spacing = { 2 } >
53- < RunButton isAvailable = { workflowOverviewDTO ?. data . isAvailable } />
54- < WorkflowDetailsTabContent
55- loadingWorkflowOverview = { loadingWorkflowOverview }
56- workflowOverviewDTO = { workflowOverviewDTO ?. data }
57- errorWorkflowOverview = { errorWorkflowOverview }
58- />
59- </ Grid >
60- </ TabbedLayout . Route >
61- < TabbedLayout . Route path = { workflowRunsRoutePath } title = "Workflow runs" >
62- < Grid container spacing = { 2 } >
63- < RunButton isAvailable = { workflowOverviewDTO ?. data . isAvailable } />
64- < WorkflowRunsTabContent />
65- </ Grid >
66- </ TabbedLayout . Route >
67- </ TabbedLayout >
65+ < Box className = { classes . tabbedLayout } >
66+ < TabbedLayout >
67+ < TabbedLayout . Route path = "/" title = "Workflow details" >
68+ < Grid container spacing = { 2 } >
69+ < RunButton isAvailable = { workflowOverviewDTO ?. data . isAvailable } />
70+ < WorkflowDetailsTabContent
71+ loadingWorkflowOverview = { loadingWorkflowOverview }
72+ workflowOverviewDTO = { workflowOverviewDTO ?. data }
73+ errorWorkflowOverview = { errorWorkflowOverview }
74+ />
75+ </ Grid >
76+ </ TabbedLayout . Route >
77+ < TabbedLayout . Route
78+ path = { workflowRunsRoutePath }
79+ title = "Workflow runs"
80+ >
81+ < Grid container spacing = { 2 } >
82+ < RunButton isAvailable = { workflowOverviewDTO ?. data . isAvailable } />
83+ < WorkflowRunsTabContent />
84+ </ Grid >
85+ </ TabbedLayout . Route >
86+ </ TabbedLayout >
87+ </ Box >
6888 </ BaseOrchestratorPage >
6989 ) ;
7090} ;
0 commit comments