@@ -19,17 +19,25 @@ interface SessionViewProps {
1919 readonly pullInfo : PullInfo | undefined ;
2020 readonly info : SessionInfo ;
2121 readonly logs : readonly SessionResponseLogChunk [ ] ;
22+ readonly setupLogs ?: readonly string [ ] ;
2223}
2324
2425export const SessionView : React . FC < SessionViewProps > = ( props ) => {
2526 return (
2627 < div className = "session-container" >
2728 < SessionHeader info = { props . info } pullInfo = { props . pullInfo } />
29+ { props . setupLogs && props . setupLogs . length > 0 && (
30+ < SetupStageLog setupLogs = { props . setupLogs } />
31+ ) }
2832 < SessionLog logs = { props . logs } />
2933 { props . info . state === 'in_progress' && (
3034 < div className = "session-in-progress-indicator" >
3135 < span className = "icon" > < i className = "codicon codicon-loading" > </ i > </ span >
32- Session is in progress...</ div >
36+ { props . logs . length === 0 && props . setupLogs && props . setupLogs . length > 0
37+ ? 'Configuring environment...'
38+ : 'Session is in progress...'
39+ }
40+ </ div >
3341 ) }
3442 </ div >
3543 ) ;
@@ -268,3 +276,34 @@ function toFileLabel(file: string): string {
268276 const parts = file . split ( '/' ) ;
269277 return parts . slice ( 6 ) . join ( '/' ) ;
270278}
279+
280+ // Setup Stage Log component
281+ interface SetupStageLogProps {
282+ readonly setupLogs : readonly string [ ] ;
283+ }
284+
285+ const SetupStageLog : React . FC < SetupStageLogProps > = ( { setupLogs } ) => {
286+ if ( ! setupLogs || setupLogs . length === 0 ) {
287+ return null ;
288+ }
289+
290+ const setupSteps = setupLogs
291+ . filter ( line => line . trim ( ) . length > 0 )
292+ . map ( ( line , index ) => (
293+ < div key = { index } className = "setup-log-line" >
294+ { line }
295+ </ div >
296+ ) ) ;
297+
298+ return (
299+ < div className = "setup-stage-log" >
300+ < h3 className = "setup-stage-title" >
301+ < span className = "icon" > < i className = "codicon codicon-gear" > </ i > </ span >
302+ Environment Setup
303+ </ h3 >
304+ < div className = "setup-log-content" >
305+ { setupSteps }
306+ </ div >
307+ </ div >
308+ ) ;
309+ } ;
0 commit comments