Skip to main content

TDD — Registro (RegisterPage)

Status

Implementado

Contexto

Tela de registro. Fluxo de signup por email (start → verify → resend). Seleção de igreja via publicChurchesHttp.

Interface de Usuário (UI)

Tela de registro com fluxos paralelos: Signup email e Signup com Google.

Componentes e organização:

  • Abas ou seções: Email (start → verify → resend) e Google
  • Signup email: campos Email, Senha, Nome (opcional), Igreja (dropdown publicChurchesHttp); botão "Enviar código"; navegação para verify e resend
  • Signup Google: campos Nome e Igreja; botão "Continuar com Google"
  • Link para voltar ao Login

Observação: A seleção de igreja é obrigatória para ambos os fluxos; lista de igrejas vem de publicChurchesHttp.

Contratos

  • emailSignupStartHttp — iniciar signup (email)
  • emailSignupVerifyHttp — verificar código
  • emailSignupResendHttp — reenviar código
  • publicChurchesHttp — opções de igreja para signup
  • registerPendingAccount (callable) — criar conta pendente após verify

Fluxo

  1. Usuário informa email, igreja → start
  2. Recebe código por email → verify
  3. Se sucesso → registerPendingAccount (ou fluxo similar)
  4. Login e redirecionamento

Código de referência

  • frontend/lib/presentation/pages/login/register_page.dart
  • frontend/lib/application/use_cases/start_email_signup.dart
  • frontend/lib/application/use_cases/verify_email_signup_code.dart
  • frontend/lib/application/use_cases/resend_email_signup_code.dart
  • backend/functions/src/interfaces/http/email-signup-http-controller.ts
  • backend/functions/src/interfaces/http/public-churches-http-controller.ts