fix(ui): open the merge modal non-modal so a running merge no longer blocks the main window

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-10-01 11:50:58 +02:00
co-authored by Claude Sonnet 5.5
parent 2b7b58be37
commit 3d74e3dac5
4 changed files with 58 additions and 10 deletions
@@ -165,12 +165,12 @@ public partial class DetailsIslandView : UserControl
return System.Threading.Tasks.Task.CompletedTask;
};
vm.Merge.ShowMergeModal = async (mergeVm) =>
// Non-modal so the main window stays usable while the merge + verify runs; the task
// completes on close so the diff viewer can still react to the outcome.
vm.Merge.ShowMergeModal = (mergeVm) =>
{
var owner = TopLevel.GetTopLevel(this) as Window;
if (owner == null) return;
var modal = new MergeModalView { DataContext = mergeVm };
await modal.ShowDialog(owner);
return owner == null ? System.Threading.Tasks.Task.CompletedTask : MergeModalView.ShowAsync(owner, mergeVm);
};
}