Fix TDZ no autosave do cadastro externo

O watch de scheduleProgressSave referenciava form.* antes da declaração
do reactive form, violando TDZ e quebrando a página inteira no load.
Move o watch pra depois da `const form = reactive(resetForm())`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Leonardo
2026-04-28 17:11:31 -03:00
parent ffcb8b17f9
commit a57cf27a6a
@@ -207,10 +207,8 @@ async function savePartialProgress() {
} catch { /* silencioso — autosave não é crítico */ } } catch { /* silencioso — autosave não é crítico */ }
} }
watch( // O watch que dispara `scheduleProgressSave` foi movido pra depois da
() => [form.nome_completo, form.telefone, form.email_principal, form.onde_nos_conheceu], // declaração de `form` (linha ~319) — referência aqui violava TDZ.
scheduleProgressSave
);
// ---------------------------------------------------------------- // ----------------------------------------------------------------
// Helpers // Helpers
@@ -319,6 +317,12 @@ function resetForm() {
const form = reactive(resetForm()); const form = reactive(resetForm());
const consent = ref(false); const consent = ref(false);
// Autosave de progresso: precisa de `form` declarado antes (TDZ).
watch(
() => [form.nome_completo, form.telefone, form.email_principal, form.onde_nos_conheceu],
scheduleProgressSave
);
const errors = reactive({ const errors = reactive({
nome_completo: '', email_principal: '', email_alternativo: '', telefone: '', consentimento: '' nome_completo: '', email_principal: '', email_alternativo: '', telefone: '', consentimento: ''
}); });