// content/passive_joiner.js
console.log("🔍 [FaceAut Comunidad] passive_joiner.js cargado en:", location.href);

let lastCheckedUrl = "";

function checkCurrentGroupCommunity() {
    if (window.location.href.includes("faceaut_auto=true")) return;

    const currentUrl = window.location.href.split('?')[0].split('#')[0];
    if (!currentUrl.includes("/groups/")) {
        return;
    }
    if (currentUrl === lastCheckedUrl) return;

    lastCheckedUrl = currentUrl;
    console.log("🚀 [FaceAut Comunidad] Consultando grupo a la comunidad:", currentUrl);

    chrome.runtime.sendMessage({ type: "CHECK_GROUP_COMMUNITY", url: currentUrl }, (response) => {
        if (chrome.runtime.lastError) {
            console.warn("⚠️ [FaceAut Comunidad] Error comunicando con background:", chrome.runtime.lastError.message);
            return;
        }

        console.log("📥 [FaceAut Comunidad] Respuesta recibida:", response);

        if (response && response.registrado) {
            console.log("🔴 [FaceAut Comunidad] ¡GRUPO ENCONTRADO EN LA COMUNIDAD!", response.miembros);
            showAlertBanner(response.miembros, currentUrl);
        } else {
            console.log("🟢 [FaceAut Comunidad] El grupo NO está registrado en tu comunidad.");
            removeAlertBanner();
        }
    });
}

function showAlertBanner(miembros, groupUrl) {
    removeAlertBanner();

    const nombres = miembros.map(m => m.nombre_usuario).join(', ');

    const banner = document.createElement("div");
    banner.id = "fb-community-alert-banner";
    banner.style.cssText = `
        position: fixed;
        top: 70px;
        right: 20px;
        background: linear-gradient(135deg, #1e1b4b 0%, #450a0a 100%);
        color: #ffffff;
        padding: 16px 20px;
        z-index: 9999999;
        font-family: system-ui, -apple-system, sans-serif;
        font-size: 14px;
        border-radius: 12px;
        max-width: 360px;
        border: 1px solid #ef4444;
        box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
        display: flex;
        align-items: flex-start;
        gap: 12px;
        animation: slideDown 0.4s ease-out;
    `;

    if (!document.getElementById("fb-community-banner-styles")) {
        const style = document.createElement("style");
        style.id = "fb-community-banner-styles";
        style.innerHTML = `
            @keyframes slideDown {
                from { transform: translateY(-20px); opacity: 0; }
                to { transform: translateY(0); opacity: 1; }
            }
        `;
        document.head.appendChild(style);
    }

    banner.innerHTML = `
        <div style="font-size: 24px; line-height: 1;">⚠️</div>
        <div style="flex: 1; line-height: 1.4;">
            <b style="color: #fca5a5; font-size: 15px; display: block; margin-bottom: 2px;">Alerta de Comunidad FaceAut</b>
            Este grupo ya está registrado por:
            <div style="color: #fef08a; font-weight: bold; margin-top: 4px; font-size: 13px; background: rgba(0,0,0,0.3); padding: 4px 8px; border-radius: 6px; display: inline-block;">
                👤 ${nombres}
            </div>
        </div>
        <button id="btn-close-community-alert" style="
            background: transparent;
            border: none;
            color: #94a3b8;
            font-size: 18px;
            font-weight: bold;
            cursor: pointer;
            padding: 0 4px;
            line-height: 1;
        ">✕</button>
    `;

    document.body.appendChild(banner);

    document.getElementById("btn-close-community-alert").addEventListener("click", () => {
        banner.remove();
    });

    // Auto cerrar después de 12 segundos
    setTimeout(() => {
        if (banner && banner.parentNode) banner.remove();
    }, 12000);
}

function removeAlertBanner() {
    const existing = document.getElementById("fb-community-alert-banner");
    if (existing) existing.remove();
}

// Ejecutar al cargar la página
checkCurrentGroupCommunity();

// Detectar cambios de URL en navegación de Facebook (SPA)
let lastUrl = location.href;
new MutationObserver(() => {
    const url = location.href;
    if (url !== lastUrl) {
        lastUrl = url;
        checkCurrentGroupCommunity();
    }
}).observe(document, { subtree: true, childList: true });

