using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using Avalonia.Platform.Storage;
namespace LanMountainDesktop.Launcher.Views;
///
/// 错误窗口 - 显示启动失败信息,支持调试模式(隐藏入口)
///
public partial class ErrorWindow : Window
{
private readonly TaskCompletionSource _completionSource = new();
private int _iconClickCount = 0;
private const int DebugModeClickThreshold = 5;
private bool _isDebugMode = false;
private string? _customHostPath;
private bool _devModeEnabled;
public ErrorWindow()
{
AvaloniaXamlLoader.Load(this);
// 先加载保存的状态
_devModeEnabled = LoadDevModeStateInternal();
InitializeComponents();
}
private void InitializeComponents()
{
// 错误图标点击事件(进入调试模式 - 隐藏功能)
var errorIconBorder = this.FindControl("ErrorIconBorder");
if (errorIconBorder is not null)
{
errorIconBorder.PointerPressed += OnErrorIconClick;
}
// 按钮事件
var retryButton = this.FindControl