Cartão de classificação

Tabela da liga mostrando pontos, saldo de gols, forma e linhas de qualificação para times fornecidos pelo anfitrião.

Classificações da liga fornecidas aparecem com registros, pontos, forma recente, zonas de qualificação e favoritos, através de grupos rotativos e visualizações de canto. Primetime introduz molas escalonadas de linha, acentos ciano para estados normais e um fundo lento de pódio e classificação. Rebaixamento e derrotas usam âmbar, enquanto chaves de equipamento esportivo compartilhado marcam o líder da zona de título fornecida. Um pequeno sinal marca atualizações passadas do feed existentes, mudanças de grupo e transferências de canto de cinco segundos. Classificação, seleção de coluna, fixação de favorito e paginação mantêm suas regras existentes. Uma tabela com mais de quatorze linhas divide-se em páginas equilibradas que se alternam com os grupos, algumas equipes preenchem a tela em tamanho maior, cada nome compartilha um tamanho e quebra em palavras, e um feed de um dia anterior mostra seu dia e sinaliza sua idade. Sob movimento reduzido, é exibida uma imagem composta.

Cartão ao vivo

Este cartão é desenhado no seu navegador pelo mesmo código que os Players executam, com dados de exemplo.

Categoria: Esportes. Tags: Classificações e rankings, Esportes em equipe, Escolas e campi.

Layouts

Este cartão em tela cheia preenche toda a tela em paisagem ou retrato e não é colocado como canto, chip ou faixa.

Layouts: cheio. Formas: paisagem, retrato.

Layouts, temas e publicação de cartões. Veja os cartões.

Dados e privacidade

Feed: screenrig.standings/v1.

Documentos do feed carregam atribuição da fonte. O Player fornece o feed para o cartão.

Propriedades

Para tema, fundo, destaque e posição, veja Propriedades comuns.

Defina as propriedades estáticas nos params do cartão ao criá-lo. O documento de dados dele contém apenas propriedades dinâmicas. Linhas aninhadas descrevem o conteúdo da propriedade pai.

Propriedades estáticas

NomeTipoPadrãoValores e limitesDescrição
titlestring""maxLength: 40Vazio usa o nome da liga.
countinteger10mínimo: 1; máximo: 24Equipes mostradas do topo da tabela; um favorito abaixo do corte fica na última colocação.
groupstring""maxLength: 40Nome de um grupo (uma conferência, uma divisão). Páginas vazias percorrem todos os grupos.
favouritestring""maxLength: 8O código curto de um time; sua linha é destacada e seu grupo permanece na tela.
showFormbooleantrueMostrar os últimos resultados de cada equipe.
pageSecondsinteger12mínimo: 5; máximo: 60Segundos que cada grupo permanece ao mudar de página.
sportstring"other""hockey", "soccer", "basketball", "football", "baseball", "other"
hour12booleanfalse
timeZonestring, nulonull
backgroundColorstring, nulonullpadrão: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Substitui o fundo e a placa do cartão por uma cor plana ordenada por CSS. #RRGGBBAA fornece opacidade. background none tem precedência.
textColorstring, nulonullpadrão: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Substitui as cores do texto principal e secundário. As cores de destaque e status semântico mantêm seus papéis.

Propriedades dinâmicas

NomeTipoPadrãoValores e limitesDescrição
leagueobjeto, nulonulladditionalProperties: falseA competição a que a tabela se refere; o nome dela é o título quando title está vazio. A do feed prevalece.
league.namestringmaxLength: 60; Obrigatório
seasonstring""maxLength: 20A temporada, por exemplo 2026–27; a do feed prevalece.
zonesarray[]minItems: 0; maxItems: 4Nomes para a legenda das barras coloridas, um por tipo; os do feed prevalecem.
zones[].kindstring"champion", "qualify", "playoff", "relegation"; Obrigatório
zones[].labelstringmaxLength: 40
groupsarray[]minItems: 0; maxItems: 20As tabelas, os mesmos grupos de groups no feed screenrig.standings/v1. Um feed prevalece quando presente; o armazenamento de dados fornece as mesmas linhas caso contrário.
groups[].namestringmaxLength: 40Uma conferência, uma divisão ou um grupo. Um nome igual ao da liga não é exibido.
groups[].rowsarrayminItems: 0; maxItems: 40; Obrigatório
groups[].rows[].rankintegermínimo: 1; máximo: 999A posição no grupo; as linhas sem posição mantêm a ordem.
groups[].rows[].teamobjectadditionalProperties: false; Obrigatório
groups[].rows[].team.namestringmaxLength: 60; Obrigatório
groups[].rows[].team.shortstringmaxLength: 8O código curto do time, com o qual o favorito do cartão é comparado. Sem um, o cartão usa três letras do nome.
groups[].rows[].playedintegermínimo: 0; máximo: 999Jogos disputados; a soma dos resultados quando omitido.
groups[].rows[].wonintegermínimo: 0; máximo: 999
groups[].rows[].wonOtintegermínimo: 0; máximo: 999Vitórias na prorrogação ou em disputa de pênaltis, contadas com won na coluna W.
groups[].rows[].drawnintegermínimo: 0; máximo: 999Empates (a coluna T do futebol americano).
groups[].rows[].lostintegermínimo: 0; máximo: 999
groups[].rows[].otlintegermínimo: 0; máximo: 999Derrotas na prorrogação ou em disputa de pênaltis.
groups[].rows[].diffintegermínimo: -9999; máximo: 9999Saldo de gols ou de pontos.
groups[].rows[].pointsnumbermínimo: -999; máximo: 9999Pontos; uma dedução pode deixar um time abaixo de 0.
groups[].rows[].pctnumbermínimo: 0; máximo: 1A proporção de jogos vencidos, de 0 a 1, exibida como .732. A coluna dela aparece quando nenhuma linha tem pontos.
groups[].rows[].formstring ou arrayanyOf: [{"type":"string","maxLength":20},{"type":"array","maxItems":20,"items":{"enum":["W","D","L"]}}]Os últimos resultados, do mais antigo ao mais recente, cinco exibidos: uma string como WWDLW (as outras letras são ignoradas) ou uma lista de W, D e L.
groups[].rows[].zonestring"champion", "qualify", "playoff", "relegation"Colore a barra da linha: champion, qualify, playoff ou relegation.
updatedAtstring""maxLength: 40Quando a tabela foi buscada, ISO 8601 (apenas armazenamento de dados; um feed carrega fetchedAt).

Exemplo de tela

Salve as propriedades estáticas como params.json e crie o cartão. O resultado traz o id crd_ dele.

{
  "theme": "neomustard"
}
screenrig card create --type standings --major 1 --file params.json

Adicione este item aos primitives de uma página da playlist, com esse id no lugar do id do exemplo. Publique a playlist e atribua uma tela.

{
  "id": "standings",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Escrever dados ao vivo

Escreva o documento no cartão depois de criá-lo e depois substitua-o para atualizar a tela sem republicar. O cartão verifica cada gravação contra suas propriedades dinâmicas e recusa um documento que ele rejeita. Use o mesmo projeto da playlist.

Salve o documento como card-data.json. O CLI lê o documento em si, sem invólucro:

{
  "league": null,
  "season": "",
  "zones": [],
  "groups": [],
  "updatedAt": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Ou chame a API diretamente. A API envolve o mesmo documento em um campo document. Um token de agente já nomeia seu projeto, então nenhum cabeçalho de projeto é enviado; se você enviar ScreenRig-Project, ele deve corresponder ao projeto do token. Forneça sua autorização de API pelo ambiente; veja Autenticação da API.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"league":null,"season":"","zones":[],"groups":[],"updatedAt":""}}'