Quiz board card

A pub or club quiz scoreboard: every team ranked by total with a column for each round, the round in play lit, each round's best score marked, movement and the gap to the leader, a host banner and a podium for the final. The host writes the rounds, teams and scores to the data store.

Category: Sports. Tags: Scoreboards, Leaderboards and standings, Bars and pubs.

Previews

Quiz board
Canvas
Quiz board
Corner
Quiz board
Chip

Views and forms

Views: canvas, corner, chip. Canvas forms: landscape, portrait, square, strip.

Card views, themes and publishing. Browse the gallery.

Data and privacy

This card uses its configured properties and live card data.

Properties

For theme, background, accent and position, see Common properties.

Set static properties in params. Bind data to a project card data key for live values; that document holds only dynamic properties. Without a data key, put the complete configuration in params. Nested rows describe the contents of their parent property.

Static properties

NameTypeDefaultValues and limitsDescription
titlestring"Pub quiz"maxLength: 40The quiz's name, in the header.
showTablesbooleantrueShow each team's table number beside its name.
podiumbooleantrueWhen the quiz is final, put the first three on a podium above the table.
hour12booleanfalse
timeZonestring, nullnull

Dynamic properties

NameTypeDefaultValues and limitsDescription
roundsarray[]maxItems: 12The rounds in order: a name and the points available. A team's scores line up with them.
rounds[].namestring""maxLength: 30
rounds[].maxnumber, nullnullThe most points the round can score.
teamsarray[]maxItems: 64The teams and what each has scored in every round; the board ranks them by total.
teams[].namestringminLength: 1; maxLength: 60; Required
teams[].tablestring, integer""The team's table, shown beside its name.
teams[].scoresarray[]maxItems: 12Points for each round in order; null (or none yet) is a round not marked.
teams[].bonusnumber, nullnullJoker or bonus points added to the total.
roundinteger0minimum: 0; maximum: 12The round in play (1 is the first); 0 before the first round.
statusstring"playing""playing", "scoring", "break", "final"Playing the round, marking it, in the interval, or the final result.
messagestring""maxLength: 80A line from the host in a banner: Interval, back in ten minutes.

Canvas example

Add this item to a playlist page’s primitives. Publish the playlist and assign a screen.

{
  "id": "quiz-board",
  "primitive": "card",
  "card": "quiz-board",
  "major": 1,
  "params": {
    "theme": "neomustard"
  },
  "rect": {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080
  },
  "layer": 0,
  "content_fit": "fill",
  "data": "quiz-board-main"
}

Write live data

Create this document before showing the card, then replace it to update the screen without republishing. Use the same project as the playlist. Supply your API authorization through the environment; see API authentication.

curl --request PUT "https://api.screenrig.ai/api/card-data/quiz-board-main" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "ScreenRig-Project: $SCREENRIG_PROJECT" \
  --header "Content-Type: application/json" \
  --data '{"document":{"rounds":[],"teams":[],"round":0,"status":"playing","message":""}}'