Avançar para o conteúdo

Cadastro Planev

“use client”;
import React, { useState } from “react”;
import { useUpload } from “../utilities/runtime-helpers”;
function MainComponent() {
const [formData, setFormData] = useState({
nome_completo: “”,
data_nascimento: “”,
cpf: “”,
email: “”,
whatsapp: “”,
endereco: “”,
numero: “”,
bairro: “”,
cidade: “”,
estado: “”,
cep: “”,
tipo_cadastro: “”,
parentesco: “”,
documentos: [],
});
const [error, setError] = useState(null);
const [success, setSuccess] = useState(null);
const [loading, setLoading] = useState(false);
const [uploadLoading, setUploadLoading] = useState(false);
const [upload] = useUpload();
const estados = [
“AC”, “AL”, “AP”, “AM”, “BA”, “CE”, “DF”, “ES”, “GO”, “MA”, “MT”, “MS”, “MG”,
“PA”, “PB”, “PR”, “PE”, “PI”, “RJ”, “RN”, “RS”, “RO”, “RR”, “SC”, “SP”, “SE”, “TO”
];
const tiposCadastro = [“Individual”, “Familiar”, “Multi Familiar”];
const parentescos = [“Pai”, “Mãe”, “Filho(a)”, “Irmão(ã)”, “Avô(ó)”, “Tio(a)”, “Primo(a)”, “Outro”];
const handleChange = (e) => {
const { name, value } = e.target;
setFormData((prev) => ({
…prev,
[name]: value,
}));
};
const handleFileUpload = async (e) => {
try {
const file = e.target.files[0];
if (!file) return;
setUploadLoading(true);
const { url, error } = await upload({ file });
if (error || !url) {
setError(“Erro ao fazer upload do arquivo”);
return;
}
setFormData((prev) => ({
…prev,
documentos: […prev.documentos, { nome: file.name, url }],
}));
} catch (err) {
setError(“Erro ao processar arquivo”);
} finally {
setUploadLoading(false);
}
};
const handleSubmit = async (e) => {
e.preventDefault();
setLoading(true);
setError(null);
setSuccess(null);
try {
const response = await fetch(“/api/criar-cadastro”, {
method: “POST”,
headers: { “Content-Type”: “application/json” },
body: JSON.stringify(formData),
});
const data = await response.json();
if (data.error) {
setError(data.error);
return;
}
setSuccess(“Cadastro realizado com sucesso!”);
setFormData({
nome_completo: “”,
data_nascimento: “”,
cpf: “”,
email: “”,
whatsapp: “”,
endereco: “”,
numero: “”,
bairro: “”,
cidade: “”,
estado: “”,
cep: “”,
tipo_cadastro: “”,
parentesco: “”,
documentos: [],
});
} catch (err) {
setError(“Erro ao enviar formulário”);
} finally {
setLoading(false);
}
};
return (

Formulário de Cadastro

{error && {error}}
{success && {success}}







{formData.documentos.length > 0 && (

    {formData.documentos.map((doc, index) => (

  • {doc.nome}
  • ))}

)}

);
}
export default MainComponent;