選挙結果カード

選挙夜の結果:各選挙区の候補者を得票数順にランク付けし、得票率、得票数、報告率、確定状況またはリード者を表示します。

ライブカード

このカードはブラウザでプレーヤーと同じコードで描画され、サンプルデータを使用します。

カテゴリ: 公共情報。タグ: スコアボード、リーダーボードと順位、ニュースとお知らせ、イベントと会場。

レイアウト

この全画面カードはランドスケープまたはポートレートで画面全体を埋め、コーナー、チップ、ストリップとして配置されません。

レイアウト:フル。フォーム:ランドスケープ、ポートレート。

カードレイアウト、テーマ、公開。カードを閲覧。

データとプライバシー

フィード:screenrig.election/v1。

フィードドキュメントは情報源の帰属を含みます。プレーヤーがカードにフィードを提供します。

プロパティ

テーマ、背景、アクセント、位置については共通プロパティを参照してください。

カードの作成時に、静的プロパティをカードのparamsに設定します。データドキュメントは動的プロパティのみを保持します。ネストされた行は親プロパティの内容を説明します。

静的プロパティ

名前タイプデフォルト値と制限説明
titlestring"Results"maxLength:40
perPageinteger2最小値:1;最大値:8ページ上のレース(グリッドレイアウト);追加のレースは次のページに表示されます。
pageSecondsinteger12最小値:5;最大値:60各ページまたはスポットライトのレースが画面に表示される時間。
maxCandidatesinteger4最小値:2;最大値:8レースにリストされた候補者;残りは1行のOthersにまとめられます。
showVotesbooleantrue投票数をシェアの横に表示します。
showPartybooleantrue各候補者の政党をテキストで表示します。
staleMinutesinteger30最小値:1;最大値:1440
hour12booleanfalse
backgroundColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"カードの背景とプレートをフラットなCSS順序の色で上書きします。#RRGGBBAAは不透明度を指定します。background noneが優先されます。
textColor文字列、nullnullパターン:"^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"メインとセカンダリのテキスト色を上書きします。アクセントと意味的な状態色はそのまま維持されます。

動的プロパティ

名前タイプデフォルト値と制限説明
electionNamestring""maxLength:80選挙です。例えば、フィードにない場合のGeneral Election 2026。
racesarray[]minItems:0;maxItems:40レース。フィード(screenrig.election/v1)があればそれが勝ち。なければデータストアが同じ行を提供。
races[].idstringmaxLength:40
races[].titlestringminLength:1;maxLength:80;必須例えば市長の選挙です。
races[].jurisdictionstringmaxLength:60例:フェアビュー市。
races[].reportingPctnumber最小値:0;最大値:100報告された選挙区の割合。
races[].precinctsobjectadditionalProperties:false
races[].precincts.reportingnumber最小値:0
races[].precincts.totalnumber最小値:0
races[].statusstring"open", "called", "recount", "runoff", "unopposed"レースが確定したときに呼び出されます。勝者がtrueの候補者も呼び出します。
races[].calledAtstringmaxLength:32レースが開始されたとき、ISO 8601。
races[].featuredbooleanこのレースでコーナーとチップをリードします。
races[].candidatesarrayminItems:0;maxItems:40;必須
races[].candidates[].namestringmaxLength:60;必須
races[].candidates[].partystringmaxLength:24テキストとして表示されます。色は付けられません。
races[].candidates[].votesnumber最小値:0
races[].candidates[].pctnumber最小値:0;最大値:100投票率。欠落時は投票から算出されます。
races[].candidates[].winnerboolean
races[].candidates[].incumbentboolean
updatedstring""maxLength:32結果が最後に更新されたとき、ISO 8601(データストアのみ;フィードはfetchedAtを含む)。

キャンバス例

静的プロパティを params.json として保存し、カードを作成します。結果にはその crd_ ID が含まれます。

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

このアイテムをプレイリストページのprimitivesに追加し、サンプルの ID をその ID に置き換えます。プレイリストを公開してスクリーンに割り当ててください。

{
  "id": "election-results",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

ライブデータを書き込む

カードを作成した後にドキュメントを書き込み、画面を再公開せずに更新するには置き換えます。カードは書き込みのたびに動的プロパティと照合し、受け付けないドキュメントは拒否します。プレイリストと同じプロジェクトを使用してください。

ドキュメントを card-data.json として保存します。CLIはラッパーなしでドキュメント自体を読み取ります。

{
  "electionName": "",
  "races": [],
  "updated": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

またはAPIを直接呼び出します。APIは同じドキュメントをdocumentフィールドにラップします。エージェントトークンはすでにプロジェクト名を含むため、プロジェクトヘッダーは送信しません。ScreenRig-Projectを送信する場合はトークンのプロジェクトと一致する必要があります。API認証は環境変数で提供してください。詳細は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":{"electionName":"","races":[],"updated":""}}'