feat(ui): add conflict resolution dialog for planning merge-all

Opens a modal when PlanningMergeConflict fires, listing conflicted files
with options to open in VS Code, continue, or abort the merge.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-04-24 18:08:45 +02:00
parent a6ebff3f34
commit bc788e1e0f
7 changed files with 382 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
using Avalonia.Controls;
using Avalonia.Input;
using ClaudeDo.Ui.ViewModels;
using ClaudeDo.Ui.Views.Planning;
namespace ClaudeDo.Ui.Views;
@@ -10,6 +11,19 @@ public partial class MainWindow : Window
{
InitializeComponent();
KeyDown += OnWindowKeyDown;
DataContextChanged += OnDataContextChanged;
}
private void OnDataContextChanged(object? sender, EventArgs e)
{
if (DataContext is IslandsShellViewModel vm)
{
vm.ShowConflictDialog = async (conflictVm) =>
{
var modal = new ConflictResolutionView { DataContext = conflictVm };
await modal.ShowDialog(this);
};
}
}
private void OnWindowKeyDown(object? sender, KeyEventArgs e)