GUI Avalonia multipiattaforma in solo C# e rinomina in agent-wiki-ui
Sostituisce WinForms, WebView2 e ui.html con una GUI Avalonia (XAML, ViewModel, tema chiaro/scuro) e un renderer markdown che trasforma l'albero di Markdig in controlli. Un solo progetto net10.0 per Windows e Linux, con publish single-file compresso. L'avvio di claude è in un solo punto (Core/Claude.cs) condiviso da CLI e GUI. Il nome dell'app viene dall'AssemblyName; ChatStore migra la cartella dati LlmRun alla nuova. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9c6a679e6a
commit
941d02110d
13 files changed
+966
-50
No files matched your search
@@ -0,0 +1,31 @@
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Layout;
|
||||
|
||||
namespace AgentWikiUi.Gui;
|
||||
|
||||
static class ConfirmDialog
|
||||
{
|
||||
public static Task<bool> Ask(Window owner, string question)
|
||||
{
|
||||
var yes = new Button { Content = "Elimina", MinWidth = 90 };
|
||||
var no = new Button { Content = "Annulla", MinWidth = 90 };
|
||||
var dlg = new Window
|
||||
{
|
||||
Title = question, Width = 340, SizeToContent = SizeToContent.Height, CanResize = false,
|
||||
WindowStartupLocation = WindowStartupLocation.CenterOwner,
|
||||
Content = new StackPanel
|
||||
{
|
||||
Margin = new(20), Spacing = 18,
|
||||
Children =
|
||||
{
|
||||
new TextBlock { Text = question, TextWrapping = Avalonia.Media.TextWrapping.Wrap },
|
||||
new StackPanel { Orientation = Orientation.Horizontal, Spacing = 8, HorizontalAlignment = HorizontalAlignment.Right, Children = { no, yes } },
|
||||
},
|
||||
},
|
||||
};
|
||||
yes.Click += (_, _) => dlg.Close(true);
|
||||
no.Click += (_, _) => dlg.Close(false);
|
||||
return dlg.ShowDialog<bool>(owner);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user