Pular para o conteúdo principal

5 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 - 22/04/2026

Tracking de Marketing / UTMs

  • Captura de UTMs agora roda server-side no root loader (app/root.tsx). Antes, a captura era apenas client-side em useEffect — UTMs se perdiam quando um loader fazia redirect(...) antes do hydrate. Ex: landing /?utm_source=X&ref=AFIL1 que dispara redirect para /register agora preserva os parâmetros via Set-Cookie na própria response do redirect. Resolve o report "Rastreamento perde-se após o login/redirecionamento".
  • Política de atribuição alinhada com legado: last-touch. Cada nova URL com UTM sobrescreve o cookie anterior, igual ao middleware global do Nuxt antigo. A versão anterior (first-touch) divergia silenciosamente da atribuição calibrada nos dashboards de BI.
  • Captura também re-executa em toda navegação SPA via useLocation() no TrackingCapture — antes corria só 1x no mount.

Changelog - 02/04/2026

UI e Componentes

  • Adicionada a seção de Promoções com um novo ícone animado de presente na navegação.
  • Convertidos os atalhos de busca rápida e a lista de categorias em carrosséis horizontais com navegação por toque (swipe).
  • Implementado modo de tela cheia para o modal de Stories e adicionada navegação por swipe horizontal entre os stories.
  • Aprimorado o layout do rodapé com a adição de selos de conformidade.
  • Melhorias de responsividade e UX nas páginas de erro 404 e 500, incluindo localização aprimorada.
  • Corrigido o alinhamento de altura entre o seletor de DDI e o campo de telefone em dispositivos móveis.
  • Ajustado alinhamento do tooltip de instalação do app para iOS.
  • Adicionado o componente PageDescription e centralizada a configuração de descrições de página para SEO.

Changelog - 01/04/2026

Recompensas e Gamificação

  • Adicionada a primeira versão da seção de Recompensas, incluindo a página principal, componentes de listagem e o modal para resgate de prêmios.
  • Integradas as rotas de API, o hook useRewards e a store Zustand para gerenciamento de estado das recompensas.
  • Adicionada a aba de Recompensas na navegação do usuário e a configuração de feature flag para controle de acesso.
  • Implementado o sistema de votos em jogos, com carregamento assíncrono dos votos do usuário e contagem pública.
  • Corrigido o formato da API de votos para alinhar com o backend (is_like como string, casinoGameId como número).

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