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
i18nextereact-i18next, incluindo alias~i18nno Vite para seleção de idioma em tempo de build e constante__BRAND_LANGUAGE__ - Criados contextos
CountryProvider(hookuseCountry) eTranslationProvidercom 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 viauseCountry().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
i18nKeynos 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:
CpfInputeBrStatesSelect(Brasil),CurpInput(México),RutInput(Chile) - Hook
useCountryComponents()com registry centralizado e wrapperCountryDocumentInputpara uso genérico html langeog:localedinâ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
i18nKeyopcional na interfaceLegacyHomeRowConfigeHomeRowpara 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
.gitignorepara 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
DepositCouponno fluxo de depósito - Melhorados
AmountShortcutseCurrencyInputcom exibição de bandeira e atalhos de valor - Adicionadas cores de
paymentsno tema (background e texto) e corprimary-foregroundpara botões
UI e Componentes
- Adicionado botão
BackToTopque aparece ao rolar a página, integrado noDefaultLayout - Atualizado ícone e estilo do
BackToTop - Adicionados botões de navegação anterior/próximo no
HomeBannerCarouselcom srcSet responsivo - Adicionado indicador de live configurável (
liveDotColor) nos itens do Header - Adicionado componente
RotatingLabelnoMobileBottomNavcom rotação de labels a cada 2 segundos - Atualizados estilos e ícones de links em
GameSection,GamificationSectioneProvidersCarousel - Atualizados itens do
homeHorizontalMenucom nova entrada "Space" / "Spaceman" - Corrigida largura mínima dos itens do menu horizontal para consistência de layout
Vencedores e Formatação de Moeda
LazyWinnersSectioneWinsCarouselcom suporte a locale e moeda dinâmicos- Função
formatWinAmountpara 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)
SectionWrapperrefatorado 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
SmarticoInitializereapi.games.start.ts ErrorBoundarycom detecção de modo dev via stateCountdownTimercom lógica de estado inicial e expiração corrigida- Melhorias de contraste e visibilidade em
SearchOverlayeMobileBottomNav