@@ -55,8 +55,8 @@ module ViewChat =
5555 | None -> ()
5656 , Avalonia.Threading.DispatcherPriority.Background) |> ignore
5757
58− let private opacityTransition =
59− DoubleTransition(Avalonia.Visual.OpacityProperty, System.TimeSpan.FromMilliseconds 500.)
58+ let private strokeTransition =
59+ DoubleTransition(Avalonia.Controls.Shapes.Shape.StrokeThicknessProperty, System.TimeSpan.FromMilliseconds 800.)
6060
6161 let private messageItem m =
6262 let align, cols, col =
@@ -82,18 +82,15 @@ module ViewChat =
8282 Rectangle()
8383 .stroke(Avalonia.Media.Colors.Black)
8484 .strokeThickness(4.)
85+ .strokeDashArray([ 4.; 2. ])
8586 .isHitTestVisible(false)
86− .opacity(if isSent then 0. else 1.)
87− .transition (opacityTransition)
87+ .classes("marching")
8888
8989 Rectangle()
9090 .stroke(Avalonia.Media.Colors.Black)
91− .strokeThickness(4.)
92− .strokeDashArray([ 4.; 2. ])
91+ .strokeThickness(if isSent then 0. else 4.)
9392 .isHitTestVisible(false)
94− .opacity(if isSent then 1. else 0.)
95− .classes("marching")
96− .transition (opacityTransition)
93+ .transition (strokeTransition)
9794 | Incoming ->
9895 Rectangle()
9996 .stroke(Avalonia.Media.Colors.Black)