/* LSQ — Prova social: carrossel automático de depoimentos */ const testimonialsData = [ { photo: 'imgs/depo-eduardo-araujo.jpg', quote: T( 'O Lucas já esteve com a gente em entregas estratégicas e concorrências importantes, daquelas que exigem senioridade, talento, velocidade e muita assertividade. É um profissional completo, criativo, estratégico, objetivo e, acima de tudo, alguém em quem a gente confia quando o desafio é grande.', 'Lucas has worked with us on strategic deliveries and important pitches — the kind that demand seniority, talent, speed and sharp judgment. He is a complete professional: creative, strategic, objective and, above all, someone we trust when the challenge is big.' ), name: 'Eduardo Araújo', role: T('co-CEO da ', 'co-CEO at '), company: 'Komuh', companyUrl: 'https://komuh.com/', }, { photo: 'imgs/depo-joao-marcelo.jpg', quote: T( 'Lucas atuou em grandes projetos para clientes importantes da Komuh. Ele tem uma capacidade singular de aliar pensamento criativo, pluralidade de referências e visão estratégica. Um parceiro de longa data que sempre vou contar pra potencializar entregas e resultados.', 'Lucas has worked on major projects for important Komuh clients. He has a singular ability to combine creative thinking, a broad range of references and strategic vision. A long-time partner I will always count on to boost deliveries and results.' ), name: 'João Marcelo', role: T('Head de Criação da ', 'Head of Creative at '), company: 'Komuh', companyUrl: 'https://komuh.com/', }, { photo: 'imgs/depo-tiago-wilke.jpg', quote: T( 'O Lucas conduziu toda a construção da marca MedCifra: identidade visual, logo, site e estratégia de lançamento, incluindo o VSL. Senioridade, visão estratégica e execução rápida em um só profissional. Parceiro indispensável para quem quer transformar um projeto em marca.', 'Lucas led the entire construction of the MedCifra brand: visual identity, logo, website and launch strategy, including the VSL. Seniority, strategic vision and fast execution in a single professional. An indispensable partner for anyone looking to turn a project into a brand.' ), name: 'Tiago Wilke', role: T('Fundador da ', 'Founder of '), company: 'MedCifra', companyUrl: 'https://medcifra.com/', }, { photo: 'imgs/depo-daniel-calazans.jpg', focal: '50% 12%', zoom: 1.6, quote: T( 'Lucas criou nossa identidade visual e nossa papelaria. Um excelente profissional. Com sua experiência em estratégia de branding, captou exatamente o que queríamos enquanto escritório de advocacia relativamente jovem: transmitir uma imagem com credibilidade e contemporaneidade na medida certa.', 'Lucas created our visual identity and stationery. An excellent professional. With his experience in branding strategy, he captured exactly what we wanted as a relatively young law firm: to convey an image with just the right balance of credibility and contemporaneity.' ), name: 'Daniel Calazans', role: T('Sócio-fundador do ', 'Founding Partner at '), company: 'Calazans, Queiroz e Machado Advogados', companyUrl: 'https://cqaa.com.br/', }, ]; function Testimonials() { const { isMobile } = useViewport(); const [idx, setIdx] = React.useState(0); const [fade, setFade] = React.useState(true); const timerRef = React.useRef(null); const n = testimonialsData.length; const go = React.useCallback((next) => { if (n < 2) return; setFade(false); setTimeout(() => { setIdx(i => (next + n) % n); setFade(true); }, 320); }, [n]); const resetTimer = React.useCallback(() => { if (timerRef.current) clearInterval(timerRef.current); if (n < 2) return; timerRef.current = setInterval(() => { setFade(false); setTimeout(() => { setIdx(i => (i + 1) % n); setFade(true); }, 320); }, 10000); }, [n]); React.useEffect(() => { resetTimer(); return () => timerRef.current && clearInterval(timerRef.current); }, [resetTimer]); const t = testimonialsData[idx]; const canNav = n > 1; const arrowStyle = { width: 44, height: 44, borderRadius: '50%', border: '1px solid #DDD9D4', background: 'transparent', color: canNav ? '#1D1D1B' : '#C0BFBB', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: 16, cursor: canNav ? 'pointer' : 'default', transition: 'background 200ms, border-color 200ms', flexShrink: 0, }; const hoverOn = e => { if (canNav) { e.currentTarget.style.background = '#1D1D1B'; e.currentTarget.style.color = '#F6F3F0'; e.currentTarget.style.borderColor = '#1D1D1B'; } }; const hoverOff = e => { e.currentTarget.style.background = 'transparent'; e.currentTarget.style.color = canNav ? '#1D1D1B' : '#C0BFBB'; e.currentTarget.style.borderColor = '#DDD9D4'; }; return (
{T('Depoimentos', 'Testimonials')} {String(idx + 1).padStart(2, '0')} / {String(n).padStart(2, '0')}
{!isMobile && ( )}
{t.name}

“{t.quote}”

{t.name}

{t.role}{t.companyUrl ? e.currentTarget.style.color='#1D1D1B'} onMouseLeave={e=>e.currentTarget.style.color='#9A9A97'}>{t.company} : t.company}

{!isMobile && ( )}
{isMobile && (
)}
); } Object.assign(window, { Testimonials });