HonoCheck - Calculadora de Honorários

HonoCheck

Calcule Seus Honorários

Informações do Caso
Detalhes Adicionais (Opcional)

© 2025 HonoCheck. Todos os direitos reservados.

document.addEventListener('DOMContentLoaded', () => { const areaDireitoSelect = document.getElementById('areaDireito'); const tipoCasoSelect = document.getElementById('tipoCaso'); const valorCausaInput = document.getElementById('valorCausa'); const naoSeAplicaValorCausaCheckbox = document.getElementById('naoSeAplicaValorCausa'); const honorariosForm = document.getElementById('honorariosForm'); const calculatorFormSection = document.getElementById('calculator-form'); const resultsDisplaySection = document.getElementById('results-display'); const resultContentDiv = document.getElementById('result-content'); const generatePdfButton = document.getElementById('generatePdf'); const newCalculationButton = document.getElementById('newCalculation');// Dados de exemplo para tipos de caso (seriam carregados do Supabase/n8n) const tiposDeCasoPorArea = { trabalhista: [ { value: 'reclamacao_trabalhista', text: 'Reclamação Trabalhista' }, { value: 'acordo_trabalhista', text: 'Acordo Trabalhista' }, { value: 'consultoria_trabalhista', text: 'Consultoria Trabalhista' } ], civil: [ { value: 'divorcio_consensual', text: 'Divórcio Consensual' }, { value: 'acao_cobranca', text: 'Ação de Cobrança' }, { value: 'usucapiao', text: 'Usucapião' } ], // ... outras áreas };// Popula o campo Tipo de Caso dinamicamente areaDireitoSelect.addEventListener('change', () => { const selectedArea = areaDireitoSelect.value; tipoCasoSelect.innerHTML = ''; // Limpa opções anteriores tipoCasoSelect.disabled = true;if (selectedArea && tiposDeCasoPorArea[selectedArea]) { tiposDeCasoPorArea[selectedArea].forEach(tipo => { const option = document.createElement('option'); option.value = tipo.value; option.textContent = tipo.text; tipoCasoSelect.appendChild(option); }); tipoCasoSelect.disabled = false; } });// Formatação do Valor da Causa valorCausaInput.addEventListener('input', (e) => { let value = e.target.value; value = value.replace(/\D/g, ''); // Remove tudo que não é dígito value = value.replace(/(\d)(\d{2})$/, '$1,$2'); // Coloca a vírgula value = value.replace(/(?=(\d{3})+(\D|$))/g, '.'); // Coloca os pontos e.target.value = 'R$ ' + value; });// Habilita/desabilita Valor da Causa com checkbox naoSeAplicaValorCausaCheckbox.addEventListener('change', () => { valorCausaInput.disabled = naoSeAplicaValorCausaCheckbox.checked; if (naoSeAplicaValorCausaCheckbox.checked) { valorCausaInput.value = ''; } });// Simulação de envio do formulário e exibição de resultados honorariosForm.addEventListener('submit', async (e) => { e.preventDefault(); // Aqui ocorreria a chamada ao n8n via fetch/axios // Ex: const response = await fetch('SEU_WEBHOOK_N8N_URL', { method: 'POST', body: JSON.stringify(formData) }); // const data = await response.json();// Simulação de dados de retorno do n8n const simulatedResult = { minimo: 'R$ 5.000,00', medio: 'R$ 7.500,00', premium: 'R$ 12.000,00', justificativa: 'O valor proposto reflete a complexidade alta do caso, a experiência do advogado e está alinhado com a média de mercado para ações similares na sua região.' };resultContentDiv.innerHTML = `

Mínimo Recomendado: ${simulatedResult.minimo}

Mercado Médio: ${simulatedResult.medio}

Premium: ${simulatedResult.premium}

Justificativa:

${simulatedResult.justificativa}

`;calculatorFormSection.style.display = 'none'; resultsDisplaySection.style.display = 'block'; });// Botão Nova Consulta newCalculationButton.addEventListener('click', () => { honorariosForm.reset(); tipoCasoSelect.innerHTML = ''; tipoCasoSelect.disabled = true; valorCausaInput.disabled = false; naoSeAplicaValorCausaCheckbox.checked = false; calculatorFormSection.style.display = 'block'; resultsDisplaySection.style.display = 'none'; });// Botão Gerar PDF (simulação) generatePdfButton.addEventListener('click', () => { alert('Funcionalidade de Gerar PDF será implementada em breve!'); // Aqui seria a lógica para gerar o PDF, possivelmente chamando um endpoint no n8n }); });