Pular para o conteúdo principal

Sports

O template suporta tres providers de sportsbook: First, Altenar e Betby.

A configuracao e feita por arquivo sports.config.ts (base + override por brand). O config e um objeto estatico importado diretamente tanto no client quanto no server — sem wrappers ou functions intermediarias.

Onde configurar

  • Base: app/config/sports/sports.ts
  • Override por brand: overrides/<brand-key>/app/config/sports/sports.ts
  • Hook (client): app/hooks/useSportsConfig.ts — resolve o provider ativo pela rota

O <brand-key> pode vir de:

  • ORIGIN_DOMAIN normalizado (state77.com -> state77-com)

Exemplo

import type { SportsModuleConfig } from "@cactus-agents/sports";

export const sportsConfig: SportsModuleConfig = {
main: "altenar",
test: "betby",
first: {},
altenar: {
integration: "minha-marca",
libraryUrl: "https://sb1client-altenar.biahosted.com/...",
},
betby: {
brandId: "minha-marca-id",
theme: "default",
libraryUrl: "https://ui.betby.com/...",
},
};

Configuracao por provider

Altenar

main: "altenar",
altenar: {
integration: "minha-marca",
libraryUrl: "https://sb1client-altenar.biahosted.com/...",
},

Betby

main: "betby",
betby: {
brandId: "minha-marca-id",
theme: "default",
libraryUrl: "https://ui.betby.com/...",
},

First

main: "first",

O First nao requer configuracao adicional alem do provider em main.

Rota de teste

Para testar um provider alternativo sem afetar /sports, defina test:

test: "betby",

Isso habilita a rota /sports-test com o provider de teste no sports.config.ts.

Customizacao da sidebar

Edite app/config/layout/sidebar-sports.ts para personalizar os items de navegacao:

export const sportsMainItems = [
{ slug: "live", label: "Ao Vivo", ... },
{ slug: "upcoming", label: "Comeca em Breve", ... },
];

export const popularChampionships = [
{ slug: "brasileirao-a", label: "Brasileirao Serie A", flagCode: "BR", ... },
// adicione ou remova campeonatos
];

Cada item deve conter paths para os providers que sua marca usa (firstPath, altenarPath, betbyPath).

Desabilitando

Para desabilitar completamente o modulo de esportes:

main: null,