import { useEffect, useRef, useState } from 'react'; import { gsap } from 'gsap'; import { ScrollTrigger } from 'gsap/ScrollTrigger'; import { sendLeadToMautic, sendLeadViaMailto, trackConversion, trackFacebookPixel } from '../config/mautic'; import { Mail, Phone, MapPin, Clock, Send, Check, Loader2, MessageSquare, Headphones } from 'lucide-react'; gsap.registerPlugin(ScrollTrigger); const canais = [ { icon: , titulo: 'Telefone', valor: '(11) 4810-1704', descricao: 'Segunda a Sexta, 8h às 18h', link: 'tel:+551148101704', }, { icon: , titulo: 'WhatsApp', valor: '(11) 4810-1704', descricao: 'Atendimento 24/7', link: 'https://api.whatsapp.com/send?phone=551148101704', }, { icon: , titulo: 'Email', valor: 'contato@avanzato.com.br', descricao: 'Resposta em até 24h', link: 'mailto:contato@avanzato.com.br', }, { icon: , titulo: 'Suporte Técnico', valor: 'suporte@avanzato.com.br', descricao: 'Para clientes Avanzato', link: 'https://suporte.avanzato.com.br/', }, ]; const Contato = () => { const heroRef = useRef(null); const formRef = useRef(null); const [formData, setFormData] = useState({ nome: '', email: '', empresa: '', telefone: '', servico: '', mensagem: '', }); const [isSubmitting, setIsSubmitting] = useState(false); const [isSubmitted, setIsSubmitted] = useState(false); useEffect(() => { const ctx = gsap.context(() => { const heroItems = heroRef.current?.querySelectorAll('.animate-item'); if (heroItems && heroItems.length > 0) { gsap.fromTo( heroItems, { y: 50, opacity: 0 }, { y: 0, opacity: 1, duration: 0.8, stagger: 0.1, ease: 'expo.out', } ); } if (formRef.current) { gsap.fromTo( formRef.current, { y: 50, opacity: 0 }, { y: 0, opacity: 1, duration: 0.8, ease: 'expo.out', scrollTrigger: { trigger: formRef.current, start: 'top 80%', }, } ); } }); return () => ctx.revert(); }, []); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); // Enviar ao Formspree try { const response = await fetch('https://formspree.io/f/xwvjqyrr', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, body: JSON.stringify({ nome: formData.nome, email: formData.email, empresa: formData.empresa, telefone: formData.telefone, servico: formData.servico, mensagem: formData.mensagem, }), }); if (response.ok) { setIsSubmitted(true); setFormData({ nome: '', email: '', empresa: '', telefone: '', servico: '', mensagem: '' }); // Google Ads conversion tracking trackConversion(); // Facebook Pixel - Lead trackFacebookPixel('Lead', { content_name: 'Formulario Contato', content_category: 'lead_contato', }); setTimeout(() => setIsSubmitted(false), 5000); } else { alert('Erro ao enviar. Tente novamente ou use o WhatsApp.'); } } catch { // Fallback: enviar via mailto se Formspree falhar sendLeadViaMailto({ nome: formData.nome, email: formData.email, }); } finally { setIsSubmitting(false); } }; const handleChange = (e: React.ChangeEvent) => { setFormData(prev => ({ ...prev, [e.target.name]: e.target.value, })); }; return (
{/* Hero */}
Contato

Vamos conversar

Entre em contato conosco. Nossa equipe está pronta para ajudar sua empresa.

{/* Canais de Contato */}
{/* Formulário + Endereço */}
{/* Formulário */}

Envie uma mensagem

{isSubmitted ? (

Mensagem enviada!

Entraremos em contato em breve.

) : (