/* ============================================ Components: Testimonials, Urgency, Pricing, FAQ, AboutMe, FinalCTA, Footer ============================================ */ /* ============ TESTIMONIALS ============ */ function Testimonials() { const items = [ { src: "assets/testimonial-1.mp4", name: "Aluna A1", quote: "“Finalmente entendi por onde começar.”" }, { src: "assets/testimonial-2.mp4", name: "Aluna A1", quote: "“Cabe no meu dia, do jeito que eu queria.”" }, { src: "assets/testimonial-3.mp4", name: "Aluna A1", quote: "“Saí do zero em poucos meses.”" } ]; const [playingIdx, setPlayingIdx] = React.useState(-1); const refs = React.useRef([]); const handlePlay = (i) => { refs.current.forEach((v, idx) => { if (v && idx !== i) v.pause(); }); const v = refs.current[i]; if (!v) return; if (v.paused) { v.play(); setPlayingIdx(i); } else { v.pause(); setPlayingIdx(-1); } }; return (
O que dizem as alunas

Quem já começou,
conta como foi.

{items.map((t, i) => (
handlePlay(i)} >
))}
); } /* ============ URGENCY ============ */ function Urgency() { const targetRef = React.useRef(null); const [time, setTime] = React.useState({ d: 0, h: 0, m: 0, s: 0 }); React.useEffect(() => { // Persist target across refreshes let target = parseInt(localStorage.getItem("epona_offer_end") || "0", 10); const now = Date.now(); if (!target || target < now) { target = now + 3 * 24 * 60 * 60 * 1000; // 3 days localStorage.setItem("epona_offer_end", String(target)); } targetRef.current = target; const tick = () => { const diff = Math.max(0, targetRef.current - Date.now()); const d = Math.floor(diff / 86400000); const h = Math.floor((diff % 86400000) / 3600000); const m = Math.floor((diff % 3600000) / 60000); const s = Math.floor((diff % 60000) / 1000); setTime({ d, h, m, s }); }; tick(); const id = setInterval(tick, 1000); return () => clearInterval(id); }, []); const pad = (n) => String(n).padStart(2, "0"); return (
★ Oferta por tempo limitado encerra em
{pad(time.d)}
Dias
·
{pad(time.h)}
Horas
·
{pad(time.m)}
Min
·
{pad(time.s)}
Seg
); } /* ============ PRICING ============ */ function Pricing() { const basic = [ "7 módulos iniciais (Capítulo I)", "Acesso 24 h por 1 ano", "Curadoria de plataformas online", "Ideal para testar o método com calma", "Suporte por e-mail" ]; const full = [ "26 módulos completos — do zero ao A1", "Acesso 24 h por 1 ano", "Curadoria completa de plataformas e sites", "Bônus 1: DELF A1 — guia da prova", "Bônus 2: Introdução ao Passé Composé", "Suporte direto comigo na plataforma", "Garantia de 7 dias — reembolso integral" ]; return (
Confira a oferta

Escolha o plano que faz sentido
para você agora.

Dois caminhos, mesmo método. Comece pelo que cabe melhor no seu momento.

{/* Basic plan */}
Plano 01 · Descoberta
Francês — Descoberta do A1
Para quem quer iniciar com calma.
R$ 67 ,00
à vista — sem juros
    {basic.map((f, i) => (
  • {f}
  • ))}
Começar pela Descoberta
7 módulos · Capítulo I completo
{/* Featured plan */}
Plano 02 · Completo
Épona Francês — A1 Completo
26 módulos + bônus. O plano inteiro.
de R$ 226,00 por
R$ 169 ,00
à vista ou 10x de R$ 20,31
    {full.map((f, i) => (
  • {f}
  • ))}
Quero o plano completo
Atenção: oferta por tempo limitado.
); } /* ============ FAQ ============ */ function FAQ() { const faqs = [ { q: "Para quem é o Plano de Estudo Épona?", a: "É para quem deseja aprender francês com autonomia e praticidade — pessoas que querem ir do zero ao nível A1 completo, no próprio ritmo, sem depender de aulas presenciais." }, { q: "Posso estudar onde e quando quiser?", a: "Sim. O Plano foi elaborado para você ter total autonomia. Acesse o material no horário que preferir e adapte os estudos à sua rotina." }, { q: "Por quanto tempo terei acesso?", a: "Seu acesso ao Plano é de 1 ano a partir do momento da compra, e pode ser renovado se você desejar continuar." }, { q: "Como eu acesso o Plano de Estudo?", a: "Logo após a compra você recebe um e-mail com o acesso à plataforma Kiwify. Após o cadastro gratuito, o acesso é liberado automaticamente." }, { q: "O Plano oferece suporte?", a: "Sim. Você recebe suporte dentro da plataforma — pode escrever comentários em cada módulo ou falar comigo pelo e-mail epona.metodo@gmail.com." }, { q: "E se eu não gostar do Plano?", a: "Você tem 7 dias a partir do momento da compra para pedir reembolso de 100% do valor, sem qualquer burocracia." }, { q: "É um curso gravado?", a: "Não. E essa é a parte importante: é um Plano de Estudo elaborado por mim. Você não vai assistir a horas de vídeo — vai seguir uma rota organizada, módulo a módulo, usando plataformas e sites online cuidadosamente selecionados. Você estuda, não só assiste." } ]; const [open, setOpen] = React.useState(0); return (
Dúvidas frequentes

Tudo o que você quer saber.

{faqs.map((f, i) => (
{f.a}
))}
); } /* ============ ABOUT ME ============ */ function AboutMe() { return (
Aude Neuvesselle
Bisous, Aude N.
Sobre mim

Aude
Neuvesselle.

Sou francesa, nasci em 1976. Moro no Brasil há mais de 20 anos e, há mais de 15, ajudo adolescentes e adultos brasileiros a aprender francês — de verdade.

Ao longo desse tempo, muitas pessoas me pediram indicações de dicas e sites para estudar sozinhas pela internet. Foi a partir desses pedidos que decidi criar este plano de estudos.

A ideia é simples: organizar tudo o que eu já recomendava informalmente em um plano claro, sequencial e completo, até o nível A1 — para que você não fique perdido entre vídeos soltos, apps e sites desconectados.

+15 Anos ensinando
+20 Anos no Brasil
A1 Nível completo
); } /* ============ FINAL CTA ============ */ function FinalCTA() { return (
À bientôt
Hora de começar

Seu francês não vai
aprender sozinho.

Escolha o plano, abra o primeiro módulo, e em 20 minutos você já está estudando — com direção, no seu tempo.

Quero o plano completo Começar pela Descoberta
); } /* ============ FOOTER ============ */ function Footer() { return ( ); } Object.assign(window, { Testimonials, Urgency, Pricing, FAQ, AboutMe, FinalCTA, Footer });