AX Agent 라이브 진행 메시지 애니메이션 추가 및 문서 갱신
Some checks failed
Release Gate / gate (push) Has been cancelled

This commit is contained in:
2026-04-06 22:52:35 +09:00
parent 306245524d
commit 30e8218ba4
3 changed files with 49 additions and 0 deletions

View File

@@ -169,6 +169,8 @@ public partial class ChatWindow
liveWaitingStyle);
summaryRow.Opacity = 0;
summaryRow.BeginAnimation(UIElement.OpacityProperty, new DoubleAnimation(0, 1, TimeSpan.FromMilliseconds(140)));
if (liveWaitingStyle)
ApplyLiveWaitingPulse(summaryRow);
stack.Children.Add(summaryRow);
var body = (eventSummaryText ?? string.Empty).Trim();
@@ -212,6 +214,45 @@ public partial class ChatWindow
MessagePanel.Children.Add(stack);
}
private static void ApplyLiveWaitingPulse(Border summaryRow)
{
if (summaryRow.Child is not Grid grid || grid.Children.Count == 0 || grid.Children[0] is not StackPanel panel)
return;
if (panel.Children.Count == 0 || panel.Children[0] is not TextBlock marker)
return;
marker.Text = "✶";
marker.RenderTransformOrigin = new Point(0.5, 0.5);
marker.RenderTransform = new ScaleTransform(1, 1);
var pulse = new DoubleAnimation
{
From = 0.42,
To = 1.0,
Duration = TimeSpan.FromMilliseconds(780),
AutoReverse = true,
RepeatBehavior = RepeatBehavior.Forever,
EasingFunction = new QuadraticEase { EasingMode = EasingMode.EaseInOut },
};
marker.BeginAnimation(UIElement.OpacityProperty, pulse);
if (marker.RenderTransform is ScaleTransform scale)
{
var scaleAnimX = new DoubleAnimation
{
From = 0.92,
To = 1.08,
Duration = TimeSpan.FromMilliseconds(780),
AutoReverse = true,
RepeatBehavior = RepeatBehavior.Forever,
EasingFunction = new QuadraticEase { EasingMode = EasingMode.EaseInOut },
};
var scaleAnimY = scaleAnimX.Clone();
scale.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimX);
scale.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimY);
}
}
private string BuildProcessFeedMetaText(AgentEvent evt)
{
var parts = new List<string>();