Pular para o conteúdo principal

2 publicações com a etiqueta "register"

Ver todas as etiquetas

Changelog — 08/05/2026

Cadastro — validações client-side mais rigorosas

  • Limite etário no cadastro (PR #654) — novo app/utils/age.ts calcula idade contra now e bloqueia data de nascimento fora da faixa 18–99 anos direto no RegisterModal antes do POST. Antes o front aceitava qualquer data válida e só o BFF reclamava (round-trip + UX ruim). Erros aparecem inline com chaves i18n já existentes (auth.errors.too_young / too_old), e o parseRegisterFormData em app/modules/register/flow.ts ganhou o mesmo guard pra blindar o pipeline FormData → payload.
  • Validação de telefone contra máscaras do país (PR #683) — o RegisterModal agora deriva os digit lengths válidos a partir de availableMasks (ex: BR → [10, 11]) e marca o campo como INVALID_PHONE no blur quando a contagem não bate. Isso afeta automaticamente 7k-bet-br, cassino-bet-br, vera-bet-br (e qualquer brand futuro) sem mudança no override — a validação é mask-derived. Erro limpa assim que o user atinge um length válido; não dispara shake (esse fica reservado pra erros de submit), só border + mensagem inline.

Changelog - 15/03/2026

i18n — Suporte multi-idioma completo

O maior entregável do dia: infraestrutura de internacionalização integrada em toda a plataforma.

  • Adicionada infraestrutura base de i18n com i18next e react-i18next, incluindo alias ~i18n no Vite para seleção de idioma em tempo de build e constante __BRAND_LANGUAGE__
  • Criados contextos CountryProvider (hook useCountry) e TranslationProvider com suporte a overrides por fork
  • Migrados componentes de layout (Header, Sidebar, MobileBottomNav, Footer) para usar t() em todos os textos
  • Migrados modais de autenticação (Login e Registro) com tipo de documento dinâmico por país (CPF/RUT/CURP)
  • Migrados componentes de pagamento (Depósito, Saque, Cupom, Pix, resultados) para t() com locale dinâmico via useCountry().intlLocale
  • Migrados steps de validação KYC (documentos, endereço, limites, termos, telefone, e-mail, senha) com símbolo de moeda e tipo de doc por país
  • Migrada área do usuário (conta, carteira, proteção, segurança) com 26 labels de status antes hardcoded em PT-BR
  • Migrados jogos, widgets da home e busca (títulos de seção, filtros, contagens, mensagens de resultado vazio)
  • Migrados componentes de gamificação e rotas VIP (torneios, missões, loja, níveis, badges, bônus)
  • Adicionados i18nKey nos arquivos de configuração de navegação (header, sidebar, bottomnav, menu horizontal, account-menu)
  • Substituídas strings PT-BR hardcoded remanescentes por chamadas t() em validação, senha, sidebar e busca