#!/usr/bin/env python3
"""Screenshot funil WhatsApp v2 (pós correção acentuação)."""
from playwright.sync_api import sync_playwright
import time

BASE = "http://127.0.0.1:8915"
GATE = f"{BASE}/leads-trafego-setembro/entrar"
URL = f"{BASE}/funil-whatsapp"
OUT = "/opt/mia/workspace/clientes/px3lab/dashboard/_shots/funil_desktop_v2.png"
SENHA = "px3leads2026"

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True, args=["--no-sandbox"])
    ctx = browser.new_context(
        viewport={"width": 1440, "height": 900},
        device_scale_factor=1,
        locale="pt-BR",
    )
    page = ctx.new_page()

    # Abre o gate
    page.goto(GATE, wait_until="domcontentloaded", timeout=20000)
    page.fill("input[type=password]", SENHA)
    page.click("button[type=submit], input[type=submit]")
    page.wait_for_load_state("domcontentloaded", timeout=15000)

    # Vai pra pagina do funil
    page.goto(URL, wait_until="domcontentloaded", timeout=30000)

    # Espera o resultado carregar (sumario preenchido)
    try:
        page.wait_for_function(
            "document.getElementById('resultado') && document.getElementById('resultado').style.display !== 'none'",
            timeout=60000,
        )
        print("[ok] resultado carregado")
    except Exception as e:
        print(f"[warn] resultado nao apareceu em 60s: {e}; segue com screenshot")

    time.sleep(2.0)  # garante render final das barras e cards

    page.screenshot(path=OUT, full_page=True)
    print(f"[ok] screenshot: {OUT}")

    browser.close()
