@@ -942,6 +942,8 @@ function TimelineView({
942
942
getTreeProps = { getTreeProps }
943
943
parentClassName = "h-full scrollbar-hide"
944
944
renderNode = { ( { node, state, index, virtualizer, virtualItem } ) => {
945
+ const isTopSpan = node . id === events [ 0 ] ?. id ;
946
+
945
947
return (
946
948
< Timeline . Row
947
949
key = { index }
@@ -988,7 +990,7 @@ function TimelineView({
988
990
{ ( ms ) => (
989
991
< motion . div
990
992
className = { cn (
991
- "-ml-1 size-[0.3125rem] rounded-full border bg-background-bright" ,
993
+ "-ml-[0.1562rem] size-[0.3125rem] rounded-full border bg-background-bright" ,
992
994
eventBorderClassName ( node . data )
993
995
) }
994
996
layoutId = { `${ node . id } -${ event . name } ` }
@@ -1025,6 +1027,7 @@ function TimelineView({
1025
1027
: nanosecondsToMilliseconds ( duration - node . data . offset )
1026
1028
}
1027
1029
node = { node }
1030
+ fadeLeft = { isTopSpan && queuedDuration !== undefined }
1028
1031
/>
1029
1032
</ >
1030
1033
) : (
@@ -1036,7 +1039,7 @@ function TimelineView({
1036
1039
{ ( ms ) => (
1037
1040
< motion . div
1038
1041
className = { cn (
1039
- "-ml-1 size-3 rounded-full border-2 border-background-bright" ,
1042
+ "-ml-0.5 size-3 rounded-full border-2 border-background-bright" ,
1040
1043
eventBackgroundClassName ( node . data )
1041
1044
) }
1042
1045
layoutId = { node . id }
@@ -1222,15 +1225,18 @@ function PulsingDot() {
1222
1225
function SpanWithDuration ( {
1223
1226
showDuration,
1224
1227
node,
1228
+ fadeLeft,
1225
1229
...props
1226
- } : Timeline . SpanProps & { node : TraceEvent ; showDuration : boolean } ) {
1230
+ } : Timeline . SpanProps & { node : TraceEvent ; showDuration : boolean ; fadeLeft : boolean } ) {
1227
1231
return (
1228
1232
< Timeline . Span { ...props } >
1229
1233
< motion . div
1230
1234
className = { cn (
1231
- "relative flex h-4 w-full min-w-0.5 items-center rounded-sm" ,
1232
- eventBackgroundClassName ( node . data )
1235
+ "relative flex h-4 w-full min-w-0.5 items-center" ,
1236
+ eventBackgroundClassName ( node . data ) ,
1237
+ fadeLeft ? "rounded-r-sm bg-gradient-to-r from-black/50 to-transparent" : "rounded-sm"
1233
1238
) }
1239
+ style = { { backgroundSize : "20px 100%" , backgroundRepeat : "no-repeat" } }
1234
1240
layoutId = { node . id }
1235
1241
>
1236
1242
{ node . data . isPartial && (
0 commit comments