Pular para o conteúdo principal
← Voltar ao changelog

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

country-config — Suporte multi-país

  • Criados componentes de input específicos por país com lazy loading: CpfInput e BrStatesSelect (Brasil), CurpInput (México), RutInput (Chile)
  • Hook useCountryComponents() com registry centralizado e wrapper CountryDocumentInput para uso genérico
  • html lang e og:locale dinâmicos conforme o idioma da marca

cactus-core — Novos pacotes publicados

  • Publicado pacote @cactus-agents/country-config: validação de documentos (CPF/RUT/CURP/DNI), máscaras de telefone, formatos de endereço, config de pagamentos e legal para 6 países (BRA, CHL, MEX, PER, FIN, XYZ)
  • Publicado pacote @cactus-agents/i18n: sistema modular de traduções com seleção de idioma em build, deep merge para overrides de fork, 9 namespaces x 3 idiomas (pt-br, en, es)
  • Adicionadas chaves de tradução faltantes para segurança, sidebar e validação (bump para versão 0.2.2)
  • Normalizada configuração de registro (auth config) com i18n para regras de senha
  • Corrigidos testes de KYC reasons para esperar chaves i18n em vez de strings PT hardcoded
  • Adicionado i18nKey opcional na interface LegacyHomeRowConfig e HomeRow para tradução de títulos de seção

Fluxo de Registro

  • Implementado fluxo de cadastro dinâmico baseado em regras legadas, com lógica de seleção de etapas configurável por marca
  • README atualizado com documentação do novo fluxo de registro dinâmico

Brand Overrides — Personalização por Marca

  • Sistema de leitura e parse de configurações específicas por marca a partir de variáveis de ambiente e arquivos
  • Vite configurado com aliasing dinâmico para arquivos por marca
  • Carregamento de cores de tema baseado no brand override ativo
  • Removidas variáveis de ambiente e overrides de configuração relacionados a sports (simplificação)
  • Adicionado .gitignore para o diretório de overrides excluir arquivos desnecessários

Pagamentos

  • Integrado gerenciamento de cupons na store de pagamentos, com suporte a aplicação e limpeza durante depósitos
  • Adicionado componente DepositCoupon no fluxo de depósito
  • Melhorados AmountShortcuts e CurrencyInput com exibição de bandeira e atalhos de valor
  • Adicionadas cores de payments no tema (background e texto) e cor primary-foreground para botões

UI e Componentes

  • Adicionado botão BackToTop que aparece ao rolar a página, integrado no DefaultLayout
  • Atualizado ícone e estilo do BackToTop
  • Adicionados botões de navegação anterior/próximo no HomeBannerCarousel com srcSet responsivo
  • Adicionado indicador de live configurável (liveDotColor) nos itens do Header
  • Adicionado componente RotatingLabel no MobileBottomNav com rotação de labels a cada 2 segundos
  • Atualizados estilos e ícones de links em GameSection, GamificationSection e ProvidersCarousel
  • Atualizados itens do homeHorizontalMenu com nova entrada "Space" / "Spaceman"
  • Corrigida largura mínima dos itens do menu horizontal para consistência de layout

Vencedores e Formatação de Moeda

  • LazyWinnersSection e WinsCarousel com suporte a locale e moeda dinâmicos
  • Função formatWinAmount para formatação localizada de valores de prêmio nos cards de vencedores

Validação de Conta

  • Integrados hooks de validação de conta nas seções de usuário (endereço, contratos, documentos, e-mail, informações, telefone)
  • SectionWrapper refatorado para suportar props de validação, removendo lógica legada de status

Infra e Debug

  • Configurações de biome.json, tsconfig e package.json ajustadas para melhor fluxo de dev
  • Logging melhorado em SmarticoInitializer e api.games.start.ts
  • ErrorBoundary com detecção de modo dev via state
  • CountdownTimer com lógica de estado inicial e expiração corrigida
  • Melhorias de contraste e visibilidade em SearchOverlay e MobileBottomNav