feat(ui): Review-Merge-Button — Claude nimmt Waiting-for-Review pro Liste ab
Neuer Button in der virtuellen Review-Liste: öffnet das Merge-Helper-Auswahlmodal im Review-Modus (alle WaitingForReview-Tasks repo-verknüpfter Listen, gruppiert unter Listen-Headern, alle vorgetickt) und startet pro gewählter Liste eine ConPTY-Handler-Session direkt in der Merge-Phase — via bestehendem Handoff-Spec (nextPhase "merge"), kein Triage/Wait davor. Handler-Host-Task wie beim vollen "Let Claude handle it"-Lauf (HandlerBaseCommit, IsManual).
This commit is contained in:
@@ -105,6 +105,25 @@ public sealed partial class ListsIslandViewModel : ViewModelBase, IDisposable
|
||||
LetClaudeHandleRequested?.Invoke(new MergeHelperRequest(rawId, ids));
|
||||
}
|
||||
|
||||
/// <summary>Raised once per list after the review-scoped selection dialog is confirmed;
|
||||
/// the shell opens one merge-phase ConPTY tile per request.</summary>
|
||||
public event Action<MergeHelperRequest>? MergeReviewsRequested;
|
||||
|
||||
// Review-list variant of LetClaudeHandleListAsync: offers every WaitingForReview task across
|
||||
// all repo-linked lists and starts one merge-phase handler session per list picked.
|
||||
[RelayCommand]
|
||||
private async Task MergeReviewsAsync()
|
||||
{
|
||||
if (Dialogs is null || _services is null) return;
|
||||
var vm = _services.GetRequiredService<MergeHelperSelectionModalViewModel>();
|
||||
vm.ConfigureForReview();
|
||||
await vm.LoadAsync();
|
||||
var ids = await Dialogs.ShowMergeHelperSelectionAsync(vm);
|
||||
if (ids is not { Count: > 0 }) return;
|
||||
foreach (var (listId, taskIds) in vm.GroupSelectionByList(ids))
|
||||
MergeReviewsRequested?.Invoke(new MergeHelperRequest(listId, taskIds));
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void OpenInExplorer(ListNavItemViewModel? row)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user