feat(ui): roadblock badge on the task card; relocate review actions off the row

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-06-04 15:06:53 +02:00
parent d8b86e33a3
commit 2455eacb1f
4 changed files with 17 additions and 84 deletions

View File

@@ -88,43 +88,6 @@ public partial class TaskRowView : UserControl
await vm.SetStatusOnRowAsync(row, status);
}
private async void OnApproveReviewClick(object? sender, RoutedEventArgs e)
{
if (DataContext is TaskRowViewModel row && FindTasksVm() is { } vm)
await vm.ApproveReviewCommand.ExecuteAsync(row);
}
private async void OnParkReviewClick(object? sender, RoutedEventArgs e)
{
if (DataContext is TaskRowViewModel row && FindTasksVm() is { } vm)
await vm.RejectReviewToIdleCommand.ExecuteAsync(row);
}
private async void OnCancelReviewClick(object? sender, RoutedEventArgs e)
{
if (DataContext is TaskRowViewModel row && FindTasksVm() is { } vm)
await vm.CancelReviewCommand.ExecuteAsync(row);
}
private void OnRejectReviewClick(object? sender, RoutedEventArgs e)
{
if (DataContext is not TaskRowViewModel) return;
RejectFeedback.Text = "";
RejectAnchor.Flyout?.ShowAt(RejectAnchor);
}
private async void OnRejectConfirmClick(object? sender, RoutedEventArgs e)
{
RejectAnchor.Flyout?.Hide();
if (DataContext is not TaskRowViewModel row || FindTasksVm() is not { } vm) return;
var feedback = RejectFeedback.Text ?? "";
if (string.IsNullOrWhiteSpace(feedback)) return;
await vm.RejectReviewToQueueAsync(row, feedback);
}
private void OnRejectCancelClick(object? sender, RoutedEventArgs e)
=> RejectAnchor.Flyout?.Hide();
private void OnScheduleForClick(object? sender, RoutedEventArgs e)
{
if (DataContext is not TaskRowViewModel row) return;