"use client"; import { useEffect } from "react"; import { useRouter, useSearchParams } from "next/navigation"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card"; import { AlertTriangle } from "lucide-react"; export default function ConfirmPage() { const router = useRouter(); const searchParams = useSearchParams(); const rm = searchParams.get("rm") || ""; const nome = searchParams.get("nome") || ""; const cpf = searchParams.get("cpf") || ""; useEffect(() => { if (!rm || !nome || !cpf) { router.push("/"); return; } }, [rm, nome, cpf, router]); const handleConfirm = () => { router.push(`/votar?rm=${rm}&nome=${encodeURIComponent(nome)}&cpf=${cpf}`); }; const handleCancel = () => { router.push("/"); }; const formatCPFDisplay = (cpf: string) => { if (cpf.includes(".") || cpf.includes("-")) return cpf; const cpfClean = cpf.replace(/\D/g, ""); if (cpfClean.length === 11) { return `${cpfClean.substring(0, 3)}.${cpfClean.substring( 3, 6 )}.${cpfClean.substring(6, 9)}-${cpfClean.substring(9, 11)}`; } return cpf; }; const maskCPF = (cpf: string) => { const formatted = formatCPFDisplay(cpf); const parts = formatted.split("."); if (parts.length === 3) { const lastPart = parts[2].split("-"); if (lastPart.length === 2) { return `${parts[0]}.${parts[1]}.${"***"}-${lastPart[1]}`; } } return formatted; }; return (
JUSTIÇA ELEITORAL
CONFIRME SEUS DADOS Verifique se as informações estão corretas
RM:
{rm}
Nome:
{nome}
CPF:
{maskCPF(cpf)}
ATENÇÃO: Verifique se seus dados estão corretos. Caso as informações estejam incorretas, seu voto não será computado.
Estas informações estão corretas?
© {new Date().getFullYear()} Justiça Eleitoral Estudantil
); }