using System.Windows;
using DansoriEQ.App.Apo;

namespace DansoriEQ.App;

public partial class ApoLinkWindow : Wpf.Ui.Controls.FluentWindow
{
    private readonly string _configDir;

    public ApoLinkWindow(string configDir)
    {
        InitializeComponent();
        _configDir = configDir;
    }

    private void BtnYes_Click(object sender, RoutedEventArgs e)
    {
        BtnYes.IsEnabled = false;
        BtnNo.IsEnabled  = false;
        StatusText.Text  = "관리자 권한 요청 중…";

        bool ok = ApoConfigInstaller.TryAddInclude(_configDir);
        if (ok)
        {
            ApoConfigInstaller.EnsureAiEqFile(_configDir);
            StatusText.Text = "✓ 연동 완료. EQ 변경이 즉시 소리에 반영됩니다.";
        }
        else
        {
            StatusText.Foreground = System.Windows.Media.Brushes.OrangeRed;
            StatusText.Text =
                $"자동 설정 실패. 수동으로 아래 파일에 'Include: ai_eq.txt'를 추가해주세요.\n{_configDir}\\config.txt";
        }

        BtnYes.Content   = "닫기";
        BtnYes.IsEnabled = true;
        BtnYes.Click    -= BtnYes_Click;
        BtnYes.Click    += (_, __) => Close();
        BtnNo.Visibility = Visibility.Collapsed;
    }

    private void BtnNo_Click(object sender, RoutedEventArgs e) => Close();
}
