using System.Windows;

namespace AxCopilot.Views;

/// <summary>
/// Phase 17-UI-C: AgentSessionHeaderBar 이벤트 연결 및 상태 동기화.
/// SessionHeaderBar(UserControl) ↔ ChatWindow 기존 로직 브리지.
/// </summary>
public partial class ChatWindow
{
    /// <summary>Loaded 핸들러에서 호출 — SessionHeaderBar 이벤트 연결.</summary>
    private void InitSessionHeaderBar()
    {
        // 모델 칩 클릭 → 기존 BtnModelSelector_Click 재사용
        SessionHeaderBar.ModelChipClicked += (_, _) =>
            BtnModelSelector_Click(SessionHeaderBar, new RoutedEventArgs());

        // Plan 모드 순환 → 설정 저장 + 기존 UI 동기화
        SessionHeaderBar.PlanModeChanged += (_, mode) =>
        {
            Llm.PlanMode = mode;
            _settings.Save();
            UpdatePlanModeUI(); // SessionHeaderBar.SetPlanMode()가 내부서 호출됨
        };

        // 권한 칩 클릭 → 권한 팝업을 SessionHeaderBar 위치에 표시
        SessionHeaderBar.PermissionModeChanged += (_, _) =>
        {
            if (PermissionPopup == null) return;
            PermissionPopup.PlacementTarget = SessionHeaderBar;
            PermissionPopup.Placement = System.Windows.Controls.Primitives.PlacementMode.Bottom;
            BtnPermission_Click(SessionHeaderBar, new RoutedEventArgs());
        };

        // 설정 버튼 → 기존 ToggleSettingsPanel() 재사용
        SessionHeaderBar.SettingsRequested += (_, _) => ToggleSettingsPanel();
    }
}
