"""
Module xây dựng giao diện Tab Tác Vụ (Thu thập, Lọc đồ, Thẩm định & AI Agentic)
Phục vụ phân rã Control Center GUI theo chuẩn Single Responsibility & SSoT.
"""

import customtkinter as ctk
from src.assistant_tool import ui_theme as theme
from src.assistant_tool.ui.market_pricing_panel import build_market_pricing_section


def build_tab_intel(app, scroll: ctk.CTkScrollableFrame) -> None:
    """
    Xây dựng các điều khiển trong tab Tác vụ (Loot, Triage, Agentic Brain).
    Gán trực tiếp các widget vào instance `app` để bảo toàn tương thích 100% với tests.
    """
    sec2 = app._create_section_label(scroll, "💰 THU THẬP, LỌC ĐỒ & KỸ NĂNG")
    sec2.pack(anchor="w", pady=(2, 3))

    app.chk_loot = ctk.CTkCheckBox(
        scroll,
        text="Auto Ultra-Fast Loot <5ms (Vàng, Waystones, Uncut Gems, Runes, Orbs)",
        font=ctk.CTkFont(size=11, weight="bold"),
        text_color=theme.c("text_primary"),
        fg_color=theme.c("start")
    )
    app.chk_loot.select()
    app.chk_loot.pack(anchor="w", padx=8, pady=(2, 1))

    loot_row = ctk.CTkFrame(scroll, fg_color="transparent")
    loot_row.pack(fill="x", padx=12, pady=(0, 4))
    app.lbl_loot_radius = ctk.CTkLabel(
        loot_row, text="  ↳ Bán kính nhặt đồ: 30 đơn vị", font=ctk.CTkFont(size=10), text_color="#94a3b8"
    )
    app.lbl_loot_radius.pack(side="left")
    app.sld_loot_radius = ctk.CTkSlider(
        loot_row, from_=15, to=60, number_of_steps=45, width=130, height=12, command=app._on_loot_radius_change
    )
    app.sld_loot_radius.set(30)
    app.sld_loot_radius.pack(side="right", padx=(4, 0))

    # Tích hợp thị trường thời gian thực & Dynamic Pickit (>= 1.0 Chaos)
    build_market_pricing_section(app, scroll)

    sec_triage = app._create_section_label(scroll, "🔍 SÀNG LỌC & THẨM ĐỊNH TRANG BỊ")
    sec_triage.pack(anchor="w", pady=(4, 2))

    triage_frame = ctk.CTkFrame(
        scroll, fg_color="#17153b", border_color="#4338ca", border_width=1, corner_radius=theme.CARD_CORNER_RADIUS
    )
    triage_frame.pack(fill="x", padx=4, pady=(0, 6))

    app.lbl_triage_title = ctk.CTkLabel(
        triage_frame,
        text="🔍 SÀNG LỌC & THẨM ĐỊNH TRANG BỊ (ITEM TRIAGE & WHAT IS BETTER)",
        font=ctk.CTkFont(size=10, weight="bold"),
        text_color=theme.c("info_cyan")
    )
    app.lbl_triage_title.pack(anchor="w", padx=8, pady=(4, 1))

    app.lbl_triage_status = ctk.CTkLabel(
        triage_frame,
        text="  ↳ Đồ chưa giám định: 0 món | Kênh: Tự động gom về The Hooded One (Làng)",
        font=ctk.CTkFont(size=10),
        text_color="#c7d2fe"
    )
    app.lbl_triage_status.pack(anchor="w", padx=8, pady=1)

    app.lbl_item_eval = ctk.CTkLabel(
        triage_frame,
        text="  ↳ Thẩm định 'What Is Better': Sẵn sàng so sánh trang bị chuẩn Martial Artist",
        font=ctk.CTkFont(size=10),
        text_color=theme.c("text_muted")
    )
    app.lbl_item_eval.pack(anchor="w", padx=8, pady=1)

    btn_triage_frame = ctk.CTkFrame(triage_frame, fg_color="transparent")
    btn_triage_frame.pack(fill="x", padx=8, pady=(3, 6))

    app.btn_test_appraisal = ctk.CTkButton(
        btn_triage_frame,
        text="🔍 Thử Thẩm Định Đồ Mẫu",
        font=ctk.CTkFont(size=10, weight="bold"),
        fg_color="#4f46e5",
        hover_color="#4338ca",
        width=130,
        height=22,
        command=app._on_test_item_appraisal_clicked
    )
    app.btn_test_appraisal.pack(side="left", padx=(0, 4))

    app.btn_test_triage = ctk.CTkButton(
        btn_triage_frame,
        text="📜 Thử Sàng Lọc Phôi Rơi",
        font=ctk.CTkFont(size=10, weight="bold"),
        fg_color=theme.c("info"),
        hover_color=theme.c("info_hover"),
        width=130,
        height=22,
        command=app._on_test_item_triage_clicked
    )
    app.btn_test_triage.pack(side="left", padx=(0, 4))

    app.btn_toggle_item_inspector = ctk.CTkButton(
        btn_triage_frame,
        text="👁️ Bật Hover Inspector",
        font=ctk.CTkFont(size=10, weight="bold"),
        fg_color="#059669",
        hover_color="#047857",
        width=130,
        height=22,
        command=app._on_toggle_item_inspector_clicked
    )
    app.btn_toggle_item_inspector.pack(side="left")

    sec_ai = app._create_section_label(scroll, "🧠 TRÍ TUỆ TỰ HỌC & ĐÁNH GIÁ (A3E AGENTIC)")
    sec_ai.pack(anchor="w", pady=(4, 2))

    ai_card = ctk.CTkFrame(
        scroll, fg_color="#1e1b4b", border_color="#6366f1", border_width=1, corner_radius=theme.CARD_CORNER_RADIUS
    )
    ai_card.pack(fill="x", padx=4, pady=(0, 6))

    app.chk_agentic_brain = ctk.CTkCheckBox(
        ai_card,
        text="Kích hoạt Agentic Brain (Contextual Bandit & Reflection Critic)",
        font=ctk.CTkFont(size=11, weight="bold"),
        text_color="#c7d2fe",
        fg_color="#6366f1",
        hover_color="#4f46e5",
        command=app._on_agentic_toggle
    )
    app.chk_agentic_brain.pack(anchor="w", padx=8, pady=(6, 2))

    app.lbl_ai_action = ctk.CTkLabel(
        ai_card,
        text="  ↳ Khuyến nghị hiện tại: 🎯 HOLD_POSITION | DPS thực chiến: 0.0",
        font=ctk.CTkFont(size=10),
        text_color="#a5b4fc"
    )
    app.lbl_ai_action.pack(anchor="w", padx=8, pady=1)

    app.lbl_ai_tuner = ctk.CTkLabel(
        ai_card,
        text="  ↳ Phản xạ thích ứng: Flask 55% | Dodge Delta 22% | Kite 35.0m",
        font=ctk.CTkFont(size=10),
        text_color=theme.c("text_muted")
    )
    app.lbl_ai_tuner.pack(anchor="w", padx=8, pady=1)

    app.lbl_hooded_notice = ctk.CTkLabel(
        ai_card,
        text="  ↳ The Hooded One: Sẵn sàng giám định tại Hideout/Town",
        font=ctk.CTkFont(size=10),
        text_color="#34d399"
    )
    app.lbl_hooded_notice.pack(anchor="w", padx=8, pady=(1, 4))
