Estamos cuidando de tudo para a sua estreia ✨

Cadastre-se e receba 10% de desconto no lançamento.

Atendimento: 61 998592018

Em Breve - Pra você

<script>

(function(){

  const ENDPOINT = "https://script.google.com/macros/s/AKfycbzLVizpsF6sWx1E1Aud0OoYlEYqJqf3ntf40M6J5XKI0mi46lARdiO4p2pdCbNL4VAp/exec"; // cole aqui a URL do Apps Script (acabada em /exec)

  const form = document.getElementById('caffune-form');

  const feedback = document.getElementById('caffune-feedback');

  const phone = document.getElementById('cf_phone');

  const nameField = document.getElementById('cf_name');

  const emailField = document.getElementById('cf_email');

  const consentField = document.getElementById('cf_consent');

 

  // máscara suave de telefone BR (opcional)

  function maskPhone(v){

    v = v.replace(/\D/g, '').slice(0,11);

    if (v.length > 10) return v.replace(/^(\d{2})(\d{5})(\d{4}).*/, '($1) $2-$3');

    if (v.length > 6) return v.replace(/^(\d{2})(\d{4})(\d{0,4}).*/, '($1) $2-$3');

    if (v.length > 2) return v.replace(/^(\d{2})(\d{0,5}).*/, '($1) $2');

    if (v.length > 0) return v.replace(/^(\d{0,2}).*/, '($1');

    return v;

  }

  phone && phone.addEventListener('input', function(e){ e.target.value = maskPhone(e.target.value); });

 

  if (!form) { console.warn('Caffuné form não encontrado'); return; }

 

  form.addEventListener('submit', async function(e){

    e.preventDefault();

    feedback.textContent = '';

 

    const name = (nameField && nameField.value || '').trim();

    const email = (emailField && emailField.value || '').trim().toLowerCase();

    const phoneVal = (phone && phone.value || '').trim();

    const consent = (consentField && consentField.checked);

 

    if (!name || !email) {

      feedback.style.color = '#b91c1c';

      feedback.textContent = 'Por favor preencha nome e e-mail.';

      return;

    }

    if (!consent) {

      feedback.style.color = '#b91c1c';

      feedback.textContent = 'Por favor aceite a política de privacidade.';

      return;

    }

 

    const payload = {

      name: name,

      email: email,

      phone: phoneVal,

      consent: consent,

      meta: {

        referrer: document.referrer || '',

        page: location.pathname + location.search,

        userAgent: navigator.userAgent,

        tz: Intl.DateTimeFormat().resolvedOptions().timeZone

      }

    };

 

    const btn = form.querySelector('button[type="submit"]');

    const originalText = btn ? btn.innerHTML : 'Enviando...';

    if (btn) { btn.disabled = true; btn.innerHTML = 'Enviando…'; }

 

    try {

      const res = await fetch(ENDPOINT, {

        method: 'POST',

        headers: { 'Content-Type': 'text/plain;charset=utf-8' }, // evita preflight

        body: JSON.stringify(payload)

      });

 

      let ok = res.ok;

      let data = null;

      try { data = await res.json(); } catch(e){ /* ignore */ }

 

      if (ok && data && data.status === 'sucesso') {

        feedback.style.color = '#065f46';

        feedback.innerHTML = '<strong>Pronto! Você está na lista </strong> <div style="color:#6b7280">Enviaremos seu cupom de 10% por e-mail 2 horas antes da inauguração.</div>';

        form.reset();

      } else if (ok) {

        // caso o script retorne ok sem body

        feedback.style.color = '#065f46';

        feedback.innerHTML = '<strong>Pronto! Você está na lista </strong> <div style="color:#6b7280">Enviaremos seu cupom de 10% por e-mail 2 horas antes da inauguração.</div>';

        form.reset();

      } else {

        throw new Error('Resposta não OK');

      }

    } catch(err) {

      console.error('Erro envio lead:', err);

      // fallback: grava local para tentar reenviar futuramente

      try {

        const queue = JSON.parse(localStorage.getItem('caffune_lead_queue') || '[]');

        queue.push(payload);

        localStorage.setItem('caffune_lead_queue', JSON.stringify(queue));

      } catch(e){}

      feedback.style.color = '#b91c1c';

      feedback.textContent = 'Não foi possível enviar agora. Tente novamente mais tarde.';

    } finally {

      if (btn) { btn.disabled = false; btn.innerHTML = originalText; }

    }

  });

 

  // tenta reenviar fila (se tiver) quando alguém carrega a página

  (async function retryQueue(){

    try {

      const queue = JSON.parse(localStorage.getItem('caffune_lead_queue') || '[]');

      if (!queue.length) return;

      const remain = [];

      for (const item of queue) {

        try {

          const r = await fetch(ENDPOINT, { method: 'POST', headers:{ 'Content-Type':'text/plain;charset=utf-8'}, body: JSON.stringify(item) });

          if (!r.ok) remain.push(item);

        } catch(e) { remain.push(item); }

      }

      localStorage.setItem('caffune_lead_queue', JSON.stringify(remain));

    } catch(e) { /* ignore */ }

  })();

 

})();

</script>

Receba novidades e ofertas incríveis!