'use client'; import { useEffect, useState } from 'react'; import { CheckCircleIcon, ClockIcon, UserCircleIcon } from '@heroicons/react/24/solid'; import { SparklesIcon } from '@heroicons/react/24/outline'; import Link from 'next/link'; interface SucessoClientProps { branding: { name: string; logo_url?: string; primary_color: string; }; accentColor: string; submittedAt: string; } const timeline = [ { title: 'Cadastro recebido', description: 'Confirmamos seus dados e senha automaticamente.', status: 'done' as const, }, { title: 'Análise da equipe', description: 'Nossa equipe valida seus dados e configura seu acesso.', status: 'current' as const, }, { title: 'Acesso liberado', description: 'Você receberá aviso e poderá fazer login com sua senha.', status: 'upcoming' as const, }, ]; export default function SucessoClient({ branding, accentColor, submittedAt }: SucessoClientProps) { const [customerName, setCustomerName] = useState(null); const [customerEmail, setCustomerEmail] = useState(null); const [isLoading, setIsLoading] = useState(true); useEffect(() => { const name = sessionStorage.getItem('customer_name'); const email = sessionStorage.getItem('customer_email'); setCustomerName(name); setCustomerEmail(email); setIsLoading(false); // Limpar sessionStorage após carregar if (name || email) { sessionStorage.removeItem('customer_name'); sessionStorage.removeItem('customer_email'); } }, []); const primaryColor = branding.primary_color || '#3b82f6'; const firstName = customerName?.split(' ')[0] || 'Cliente'; return (
{branding.logo_url ? ( {branding.name} ) : (
{branding.name?.substring(0, 2).toUpperCase() || 'AG'}
)}

Portal do Cliente

{/* Header Premium com Nome */}
{!isLoading && customerName ? (

Tudo certo, {firstName}! 🎉

Seu cadastro foi enviado com sucesso

) : (

Cadastro enviado com sucesso! 🎉

Recebemos todas as suas informações

)}

Sua senha está segura

Você já definiu sua senha de acesso. Assim que a agência liberar seu cadastro, você poderá fazer login imediatamente no portal.

{!isLoading && customerEmail && (

Login: {customerEmail}

)}

Enviado em {submittedAt}

{/* Timeline */}
{timeline.map((item, idx) => (
{idx + 1}
{item.status === 'current' && (
)}

{item.title}

{item.description}

))}
{/* Informações */}

O que acontece agora?

  • Nossa equipe valida seus dados e configura seu ambiente no portal
  • Assim que aprovado, você receberá aviso pelos contatos informados
  • Use o login {customerEmail || 'seu e-mail'} e a senha que você criou para acessar
  • ! Em caso de urgência, fale com a equipe {branding.name} pelo telefone ou WhatsApp
{/* CTAs */}
Ir para o login do cliente Voltar para o site da agência
Precisa ajustar alguma informação? Entre em contato com a equipe {branding.name} pelos canais que você informou no cadastro.
); }