import os

filepath = r"d:\SERVIDO_QNB\frontend\cardapio.js"

with open(filepath, "r", encoding="utf-8") as f:
    content = f.read()

# Substituir a função copiarPixCola inteira
old_func = """function copiarPixCola() {
    const input = document.getElementById('pix-modal-copiacola');
    if (!input) return;
    input.select();
    input.setSelectionRange(0, 99999);
    navigator.clipboard.writeText(input.value).then(() => {
        const btn = document.getElementById('btn-copiar-pix');
        const oldHtml = btn.innerHTML;
        btn.innerHTML = '<i class="fas fa-check"></i> Copiado!';
        btn.style.background = '#0984e3';
        setTimeout(() => {
            btn.innerHTML = oldHtml;
            btn.style.background = '#00b894';
        }, 2000);
    });
}"""

# Normaliza quebras de linha para busca
old_func_lf = old_func.replace("\r\n", "\n")
old_func_crlf = old_func.replace("\r\n", "\n").replace("\n", "\r\n")

new_func = """function copiarPixCola() {
    const input = document.getElementById('pix-modal-copiacola');
    if (!input) return;
    input.select();
    input.setSelectionRange(0, 99999);
    
    function mostrarFeedbackCopiado() {
        const btn = document.getElementById('btn-copiar-pix');
        if (!btn) return;
        const oldHtml = btn.innerHTML;
        btn.innerHTML = '<i class="fas fa-check"></i> Copiado!';
        btn.style.background = '#0984e3';
        setTimeout(() => {
            btn.innerHTML = oldHtml;
            btn.style.background = '#00b894';
        }, 2000);
    }

    function fallbackCopiar() {
        try {
            const success = document.execCommand('copy');
            if (success) mostrarFeedbackCopiado();
            else alert('Por favor, pressione e segure o código PIX para copiar.');
        } catch (err) {
            alert('Por favor, pressione e segure o código PIX para copiar.');
        }
    }

    try {
        if (navigator.clipboard && navigator.clipboard.writeText) {
            navigator.clipboard.writeText(input.value)
                .then(mostrarFeedbackCopiado)
                .catch(fallbackCopiar);
        } else {
            fallbackCopiar();
        }
    } catch (e) {
        fallbackCopiar();
    }
}"""

if old_func_lf in content:
    content = content.replace(old_func_lf, new_func)
    print("Substituição LF realizada com sucesso!")
elif old_func_crlf in content:
    content = content.replace(old_func_crlf, new_func.replace("\n", "\r\n"))
    print("Substituição CRLF realizada com sucesso!")
else:
    # Busca aproximada por partes
    print("Função exata não encontrada. Tentando substituição parcial do trecho navigator.clipboard...")
    old_part = "navigator.clipboard.writeText(input.value).then(() => {"
    if old_part in content:
        # Se contiver a parte interna
        # Vamos substituir de forma mais genérica
        pass
    else:
        print("Erro: Trecho não encontrado.")

with open(filepath, "w", encoding="utf-8") as f:
    f.write(content)
