'use strict';

// Rutas de Instagram que indican un challenge, captcha o suspensión de cuenta.
// La detección es por URL porque es más estable que selectores DOM obfuscados.
const CHALLENGE_PATTERNS = [
    '/challenge/',
    '/accounts/login/two_factor/',
    '/accounts/suspended/',
    '/accounts/disabled/',
    '/accounts/compromised/',
];

/**
 * Recibe la URL actual del navegador y devuelve si hay un challenge activo.
 * @param {string} url
 * @returns {{ detected: boolean, url?: string, pattern?: string }}
 */
function detect(url) {
    if (!url) return { detected: false };
    try {
        const pathname = new URL(url).pathname;
        for (const pattern of CHALLENGE_PATTERNS) {
            if (pathname.startsWith(pattern) || pathname.includes(pattern)) {
                return { detected: true, url, pattern };
            }
        }
    } catch (_) {}
    return { detected: false };
}

module.exports = { detect };
