@@ -594,86 +594,84 @@ export function SpanTimeline({
594594 const visibleEvents = events ?? [ ] ;
595595
596596 return (
597- < >
598- < div className = "min-w-fit max-w-80" >
599- { visibleEvents . map ( ( event , index ) => {
600- // Store previous date to compare
601- const prevDate = index === 0 ? null : visibleEvents [ index - 1 ] . timestamp ;
597+ < div className = "min-w-fit max-w-80" >
598+ { visibleEvents . map ( ( event , index ) => {
599+ // Store previous date to compare
600+ const prevDate = index === 0 ? null : visibleEvents [ index - 1 ] . timestamp ;
602601
603- return (
604- < Fragment key = { index } >
605- < RunTimelineEvent
606- title = { event . name }
607- subtitle = { < DateTimeAccurate date = { event . timestamp } previousDate = { prevDate } /> }
608- variant = { event . markerVariant }
609- state = { state }
610- helpText = { event . helpText }
611- style = { style }
612- />
613- < RunTimelineLine
614- title = {
615- index === visibleEvents . length - 1
616- ? // Last event - calculate duration until span start time
617- formatDuration ( event . timestamp , startTime )
618- : // Calculate duration until next event
619- formatDuration ( event . timestamp , visibleEvents [ index + 1 ] . timestamp )
620- }
621- variant = { event . lineVariant }
622- state = { state }
623- style = { style }
624- />
625- </ Fragment >
626- ) ;
627- } ) }
628- < RunTimelineEvent
629- title = "Started"
630- subtitle = {
631- < DateTimeAccurate
632- date = { startTime }
633- previousDate = {
634- visibleEvents . length > 0 ? visibleEvents [ visibleEvents . length - 1 ] . timestamp : null
602+ return (
603+ < Fragment key = { index } >
604+ < RunTimelineEvent
605+ title = { event . name }
606+ subtitle = { < DateTimeAccurate date = { event . timestamp } previousDate = { prevDate } /> }
607+ variant = { event . markerVariant }
608+ state = { state }
609+ helpText = { event . helpText }
610+ style = { style }
611+ />
612+ < RunTimelineLine
613+ title = {
614+ index === visibleEvents . length - 1
615+ ? // Last event - calculate duration until span start time
616+ formatDuration ( event . timestamp , startTime )
617+ : // Calculate duration until next event
618+ formatDuration ( event . timestamp , visibleEvents [ index + 1 ] . timestamp )
635619 }
620+ variant = { event . lineVariant }
621+ state = { state }
622+ style = { style }
636623 />
637- }
638- variant = { "start-cap-thick" }
624+ </ Fragment >
625+ ) ;
626+ } ) }
627+ < RunTimelineEvent
628+ title = "Started"
629+ subtitle = {
630+ < DateTimeAccurate
631+ date = { startTime }
632+ previousDate = {
633+ visibleEvents . length > 0 ? visibleEvents [ visibleEvents . length - 1 ] . timestamp : null
634+ }
635+ />
636+ }
637+ variant = { "start-cap-thick" }
638+ state = { state }
639+ helpText = { getHelpTextForEvent ( "Started" ) }
640+ style = { style }
641+ />
642+ { state === "inprogress" ? (
643+ < RunTimelineLine
644+ title = { < LiveTimer startTime = { startTime } /> }
639645 state = { state }
640- helpText = { getHelpTextForEvent ( "Started" ) }
646+ variant = "normal"
641647 style = { style }
642648 />
643- { state === "inprogress" ? (
649+ ) : (
650+ < >
644651 < RunTimelineLine
645- title = { < LiveTimer startTime = { startTime } /> }
646- state = { state }
652+ title = { formatDuration (
653+ startTime ,
654+ new Date ( startTime . getTime ( ) + nanosecondsToMilliseconds ( duration ) )
655+ ) }
656+ state = { isError ? "error" : undefined }
647657 variant = "normal"
648658 style = { style }
649659 />
650- ) : (
651- < >
652- < RunTimelineLine
653- title = { formatDuration (
654- startTime ,
655- new Date ( startTime . getTime ( ) + nanosecondsToMilliseconds ( duration ) )
656- ) }
657- state = { isError ? "error" : undefined }
658- variant = "normal"
659- style = { style }
660- />
661- < RunTimelineEvent
662- title = "Finished"
663- subtitle = {
664- < DateTimeAccurate
665- date = { new Date ( startTime . getTime ( ) + nanosecondsToMilliseconds ( duration ) ) }
666- previousDate = { startTime }
667- />
668- }
669- state = { isError ? "error" : undefined }
670- variant = "end-cap-thick"
671- helpText = { getHelpTextForEvent ( "Finished" ) }
672- style = { style }
673- />
674- </ >
675- ) }
676- </ div >
677- </ >
660+ < RunTimelineEvent
661+ title = "Finished"
662+ subtitle = {
663+ < DateTimeAccurate
664+ date = { new Date ( startTime . getTime ( ) + nanosecondsToMilliseconds ( duration ) ) }
665+ previousDate = { startTime }
666+ />
667+ }
668+ state = { isError ? "error" : undefined }
669+ variant = "end-cap-thick"
670+ helpText = { getHelpTextForEvent ( "Finished" ) }
671+ style = { style }
672+ />
673+ </ >
674+ ) }
675+ </ div >
678676 ) ;
679677}
0 commit comments