Pular para o conteúdo principal

6 publicações com a etiqueta "gamification"

Ver todas as etiquetas

Changelog - 02/05/2026

Dia pesado: 30 PRs no front-web-base + 4 PRs no front-cactus-core. Destaques: revamp completo da gamificação 7k (cards de missão/torneio + modal), portabilidade massiva da personalização da vera-bet-br (paridade visual com legado), fluxo FTD completo da Vera (oferta, cashback, autoDeposit, check-in), polimentos visuais da cassino-bet-br e correções de Proteção de Conta.

Gamificação — Revamp 7k

  • Cards de missão e torneio completamente revisados nas variantes classic e stacked para 7k-bet-br/fi-7k-bet/ng-7k-bet, com novos visuais, badges de status e progresso refinado.
  • Modal de detalhe da missão (MissionDetailModal) ganhou layout novo com seção de prêmios, regras de elegibilidade e CTA de inscrição/reivindicação.
  • Tela de torneio (tournaments.$id.tsx) reescrita: novo TournamentHero, RegistrationCTA com estados expandidos, TournamentStatsCarousel e tournament-internals consolidados.
  • LevelsSection ajustada e página vip/levels.tsx reorganizada para refletir a hierarquia de níveis VIP do 7k.
  • Smartico Initializer atualizado para integrar com o novo fluxo de claim e pending_claim exposto pelo SDK.
  • Configs de brand (gamification.ts, widgets/mission-card.ts, widgets/tournament-card.ts) propagadas nos três overrides 7k para refletir o novo visual.

Changelog - 01/05/2026

FTD Onboarding — três fluxos novos consolidados (stage-ftd)

Maior entregável do dia. A branch stage-ftd aterrissou três fluxos completos de retenção/conversão D0, todos brand-configuráveis e cobertos por testes:

  • FTD Offer ("Oferta Relâmpago") — modal + floating widget + story thumb com Quick Deposit embutido. Componentes em app/components/ftd-offer/ (Provider, Modal, FloatingWidget, StoryThumb), storage isolado por marca em ftd-offer-storage.ts e analytics em ftd-offer-analytics.ts.
  • FTD Cashback — fluxo D0 com modal de oferta inicial (FtdCashbackFirstModal), modal de prêmio (FtdCashbackPrizeModal), Provider, dev panel, scaffolding de tiers (ftd-cashback-tiers.ts) e persistência local (ftd-cashback-storage.ts). Testes cobrem storage e cálculo de tiers.
  • FTD Check-in — daily check-in com mock fixture, logs diagnósticos, special offers, label "done today" e kill switch via feature flag remota da brand 7k (feat/ftd-checkin-7k-feature-flags). Componentes Checkin, CheckinTrigger, CheckinStoreOffers.
  • Loop de reabertura corrigidouseFtdCashbackFlow ganha guard pra não reabrir o first-modal logo depois do close (PR #485, fix/ftd-cashback-first-modal-loop).

Changelog - 28/04/2026

Sistema de Ícones — migração lucide-react → unplugin-icons

  • lucide-react removido por completo e substituído por unplugin-icons apoiado em três datasets Iconify (@iconify-json/lucide, @iconify-json/simple-icons, @iconify-json/mdi) mais uma coleção custom lida via FileSystemIconLoader de app/icons/custom/. Cada ícone agora resolve para um componente SVG inline em build-time — zero fetch em runtime, SSR-safe no Cloudflare Workers, e o chunk manual vendor-lucide foi descontinuado.
  • API de uso por dataset: import Trophy from "~icons/lucide/trophy" para ícones genéricos de UI, ~icons/simple-icons/<name> para logos de marca (WhatsApp, Facebook, X, Instagram, TikTok), ~icons/mdi/<name> para esportes e equivalentes a emojis, e ~icons/custom/<name> para SVGs próprios em app/icons/custom/ (auto-discovered). Naming kebab-case obrigatório (AlarmClockalarm-clock, XCirclex-circle).
  • Tipo IconComponent substitui LucideIcon em todo o codebase via app/types/icon.ts (superset de SVGProps<SVGSVGElement> com alias legacy de size). unplugin-icons não suporta a prop size do Lucide — codemod scripts/migrate-icon-size-prop.mjs converteu 471 ocorrências de size={X} para width={X} height={X}.
  • Registry string-driven em app/icons/registry.ts para configs que referenciam ícones por string (ex: icon: "mdi:soccer") consumidos via <Icon name="..." /> ou <SmartIcon icon={...} /> (smart dispatch que renderiza o ícone registrado ou cai no texto literal — preserva configs legados com emoji).
  • Exceções aceitáveis para SVG inline: spinners/loaders animados customizados, checkmarks de success animados, indicadores visuais brand-specific que não existem em nenhum dataset Iconify, e seals de regulação (ANJL, Anatel, Compulsafe) servidos via <img> apontando para public/assets/seals/.
  • Migração automatizada via codemods em scripts/: migrate-lucide-to-unplugin-icons.mjs (converte imports nomeados em default imports kebab-case, ordenado via biome check --write), migrate-icon-size-prop.mjs (size → width/height em JSX) e migrate-emoji-icons.mjs (emoji literais → IconName registrado). Fix posterior em toKebabCase para acrônimos consecutivos (XCirclex-circle, antes virava xcircle quebrado).

Changelog - 11/03/2026

Casino / Jogos

  • Integrado o SDK Softswiss no componente de iframe de jogos, adicionando suporte completo ao protocolo da provedora (200 linhas de implementação)
  • Adicionado reset do auto-start ao trocar de slug de jogo, evitando comportamento incorreto ao navegar entre jogos
  • Melhorado o indicador de carregamento do iframe para feedback visual mais preciso durante a inicialização dos jogos

Changelog - 10/03/2026

Sports (Módulo de Esportes)

  • Criado SDK @cactus-agents/sports no front-cactus-core, com suporte aos provedores First, Altenar e Betby — inclui tipos, navegação, carregamento dinâmico de SDK e testes unitários
  • Integração do módulo de esportes no front-web-base: novas rotas /sports, componentes SportsAltenar, SportsBetby e SportsIframeFirst, configurações de sidebar e APIs de launch/token para cada provedor
  • Migrado o pacote @cactus-agents/sports de link local para versão publicada no registry

Changelog - 09/03/2026

Gamificação (SDK)

  • Criado o pacote @cactus-agents/gamification com integração ao Smartico SDK, incluindo serviços autenticados e anônimos, geração de hash server-side, ações de widget e eventos
  • Adicionado suporte a geração de hash de usuário no servidor para autenticação segura no Smartico
  • Corrigido uso de non-null assertions nos testes do pacote, substituindo por optional chaining
  • Publicada versão 0.1.0 do pacote @cactus-agents/gamification no registry

Gamificação (Front)

  • Integrado o Smartico SDK ao front-web-base: config files, store Zustand, componente SmarticoInitializer e suporte a variáveis de ambiente
  • Adicionadas páginas VIP completas: missões, torneios, loja, mini-jogos, níveis, badges, bônus, jackpots e sorteios, com suporte a UI nativa
  • Criados cards e seções específicos para cada área VIP (MissionCard, TournamentCard, LevelCard, BadgeCard, etc.)
  • Adicionados filtros de gamificação e guard de acesso (GamificationGuard)
  • Adicionada página de notificações nativas e integração VIP na sidebar e no header (menu do usuário)
  • Atualizada configuração de gamificação (ClubVip) e melhorada formatação do config
  • Dependência @cactus-agents/gamification adicionada via registry (substituindo referência local)

Jogos

  • Corrigido tratamento de imagens na LazyWinnersSection para usar getUrlForApiImage, padronizando a resolução de URLs de imagens da API

Infra

  • Atualizado .gitignore para incluir todos os arquivos .dev.vars, melhorando o gerenciamento de variáveis de ambiente locais