import React, { useState } from 'react'; import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Cell } from 'recharts'; import { Zap, ArrowRight } from 'lucide-react'; // NOTA DE SEGURANÇA: // Em produção, FATURAMENTO_MAP e FRASES_GARGALO devem ser movidos para /api/diagnostico // O frontend não deve conhecer os valores financeiros reais para evitar engenharia reversa. export default function App() { const [step, setStep] = useState(0); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const [formData, setFormData] = useState({ nome: '', email: '', whatsapp: '', empresa: '', tipo_negocio: 'Clínica médica', faturamento: '$15k–$50k', funcionarios: '1–3', p1: 10, p2: 10, p3: 10, p4: 10, p5: 10, p6: 10, p7: 10, p8: 10, p9: 10, p10: 10, p11: 10, p12: 10 }); const [resultado, setResultado] = useState(null); // --- INTEGRAÇÃO COM BACKEND --- const processarDiagnostico = async () => { setLoading(true); setError(null); try { /** * EM PRODUÇÃO: * Substitua o bloco abaixo por: * const response = await fetch('/api/diagnostico', { * method: 'POST', * body: JSON.stringify(formData) * }); * const data = await response.json(); */ // Simulando chamada de API (Backend Seguro) await new Promise(resolve => setTimeout(resolve, 2000)); // Simulando a resposta que viria do servidor // No backend, usaríamos a lógica do seu arquivo 'calcularDiagnostico.ts' const mockBackendResponse = { success: true, data: { scores: [ { name: 'S1', value: 3.5 }, { name: 'S2', value: 5.0 }, { name: 'S3', value: 2.1 }, { name: 'S4', value: 7.8 }, ], gargalo: 'STEP3', frase: 'A falha está na execução. A estrutura existe, mas a conversão é ineficiente.', injicao: 'Execution', ineficiencia: '34.5', perda: '$10,350.00' } }; setResultado(mockBackendResponse.data); setStep(5); } catch (err) { setError("Falha na comunicação com o servidor de segurança. Tente novamente."); } finally { setLoading(false); } }; const nextStep = () => setStep(s => s + 1); const prevStep = () => setStep(s => s - 1); return (
IPLOYE
SSL SECURE
{step === 0 && (

PARE DE VAZAR LUCRO.

Diagnóstico técnico para identificar falhas sistêmicas em operações brasileiras nos EUA.

)} {step >= 1 && step <= 4 && (
Fase {step} de 4 {Math.round((step / 4) * 100)}% processado
{error && (
{error}
)} {step === 1 && (

Perfil Corporativo

setFormData({...formData, empresa: e.target.value})} />

Revenue Range

Time

)} {step === 2 && (

S1 & S2: Dados e Sistemas

setFormData({...formData, p1: v})} />
)} {step === 3 && (

S3: Execução e Protocolos

setFormData({...formData, p7: v})} />
)} {step === 4 && (

Criptografia de Relatório

setFormData({...formData, nome: e.target.value})} /> setFormData({...formData, email: e.target.value})} />
)}
{step > 1 && ( )}
)} {step === 5 && resultado && (
Vetor de Ineficiência

Perda de {resultado.ineficiencia}% em {resultado.gargalo}

"{resultado.frase}"

{resultado.scores.map((entry, index) => ( ))}
Custo Operacional Oculto

{resultado.perda}

Mensal / Estimado

Engine Patch

{resultado.injicao}

Protocolo de Injeção

Estancar vazamento?

Implemente sistemas autónomos para recuperar o revenue cycle da sua operação.

)}
); } function QuestionRow({ label, options, value, onChange }) { return (

{label}

{options.map((opt, i) => ( ))}
); }